Questions tagged «r-faq»

创建r-faq标签是为了将有限数量的问题分组,以讨论定期出现在R标签上的问题。它不是R for SO的官方常见问题解答,但应作为有关常见问题的有趣信息来源。

17
生成一个虚拟变量
我在R中生成以下伪变量时遇到问题: 我正在分析年度时间序列数据(时间段1948-2009)。我有两个问题: 如何为观察#10(即1957年)生成一个虚拟变量(值= 1957年为1,否则为零)? 如何生成一个虚拟变量,该变量在1957年之前为零,并且从1957年到2009年取值为1?
86 r  r-faq 

3
为什么“ vapply”比“ sapply”更安全?
该文件说 vapply类似于sapply,但是具有预先指定的返回值类型,因此可以更安全地使用。 您能否解释一下为什么它通常更安全,也许提供示例? PS:我知道答案,我已经倾向于避免了sapply。我只是希望在SO上有一个不错的答案,这样我可以指出我的同事。请没有“阅读手册”的答案。
84 r  apply  r-faq 

1
如何将矩阵子集化为一列,维护矩阵数据类型,维护行/列名称?
当我将矩阵子集分配到单个列时,结果是数字类而不是矩阵类(即,将myMatrix [,5]子集分配到第五列)。是否有一种紧凑的方法可以将子集划分为单个列,维护矩阵格式以及维护行/列名称,而无需执行类似以下的复杂操作: matrix( myMatrix[ , 5 ] , dimnames = list( rownames( myMatrix ) , colnames( myMatrix )[ 5 ] )
84 r  matrix  subset  r-faq 

15
通过名称重命名多列
有人应该已经问过这个问题,但是我找不到答案。说我有: x = data.frame(q=1,w=2,e=3, ...and many many columns...) 将我不一定知道位置的列的任意子集重命名为其他任意名称的最优雅方法是什么? 例如说,我要重命名"q"和"e"成"A"和"B",什么是最优雅的代码来做到这一点? 显然,我可以做一个循环: oldnames = c("q","e") newnames = c("A","B") for(i in 1:2) names(x)[names(x) == oldnames[i]] = newnames[i] 但是我想知道是否有更好的方法?也许使用某些软件包?(plyr::rename等)
81 r  dataframe  rename  r-faq 

4
R:什么是老虎机?
有人知道R中的插槽吗? 我没有找到其含义的解释。我得到一个递归定义:“插槽函数返回或设置有关对象各个插槽的信息” 帮助将不胜感激,谢谢-胡同
79 oop  r  s4  slot  r-faq 

2
如何在正则表达式中处理\ ^ $。?* | +()[{等特殊字符?
我想匹配一个正则表达式特殊字符,\^$.?*|+()[{。我试过了: x <- "a[b" grepl("[", x) ## Error: invalid regular expression '[', reason 'Missing ']'' (相当于stringr::str_detect(x, "[")或stringi::stri_detect_regex(x, "[")。) 将值加倍以使其无法逸出: grepl("[[", x) ## Error: invalid regular expression '[[', reason 'Missing ']'' 也不使用反斜杠: grepl("\[", x) ## Error: '\[' is an unrecognized escape in character string starting ""\[" 如何匹配特殊字符? 在一些古老而又写得很好的问题中,对此有一些特殊情况,以至于像它的副本一样厚脸皮地关闭: R正则表达式 中的转义符如何在R中转义问号? 在正则表达式中转义管道(“ …
78 regex  r  r-faq 


6
使用所有向量元素的组合粘贴两个向量
我有两个向量: vars <- c("SR", "PL") vis <- c(1,2,3) 基于这些向量,我想创建以下向量: "SR.1" "SR.2" "SR.3" "PL.1" "PL.2" "PL.3" 与paste我有以下结果: paste(vars, vis, sep=".") [1] "SR.1" "PL.2" "SR.3" 如何创建所需的向量?
76 r  r-faq 

11
在数据框中按组计算唯一/不同值
假设我有以下数据框: > myvec name order_no 1 Amy 12 2 Jack 14 3 Jack 16 4 Dave 11 5 Amy 12 6 Jack 16 7 Tom 19 8 Larry 22 9 Tom 19 10 Dave 11 11 Jack 17 12 Tom 20 13 Amy 23 14 Jack 16 我想order_no为每个计数不同值的数量name。它应该产生以下结果: name number_of_distinct_orders …

2
“以下对象被'package:xxx'屏蔽了”是什么意思?
加载程序包时,出现一条消息,指出: "The following object is masked from 'package:xxx' 例如,如果我加载testthatthen assertive,则会得到以下信息: library(testthat) library(assertive) ## Attaching package: ‘assertive’ ## ## The following objects are masked from ‘package:testthat’: ## ## has_names, is_false, is_less_than, is_null, is_true 此消息是什么意思,我该如何预防?
76 r  r-faq 

3
根据向量中的值从数据框中选择行
我有类似的数据: dt <- structure(list(fct = structure(c(1L, 2L, 3L, 4L, 3L, 4L, 1L, 2L, 3L, 1L, 2L, 3L, 2L, 3L, 4L), .Label = c("a", "b", "c", "d"), class = "factor"), X = c(2L, 4L, 3L, 2L, 5L, 4L, 7L, 2L, 9L, 1L, 4L, 2L, 5L, 4L, 2L)), .Names = c("fct", "X"), …
75 r  subset  r-faq 


3
将数据帧转换为向量(按行)
我有一个带有这样的数字条目的数据框 test <- data.frame(x = c(26, 21, 20), y = c(34, 29, 28)) 如何获得以下向量? > 26, 34, 21, 29, 20, 28 我可以使用以下方法获得它,但我想应该有一种更优雅的方法 X <- test[1, ] for (i in 2:dim(test)[ 1 ]){ X <- cbind(X, test[i, ]) }
72 r  dataframe  vector  r-faq 


8
不允许重复的“ row.names”错误
我正在尝试加载具有14列的csv文件,如下所示: StartDate, var1, var2, var3, ..., var14 当我发出此命令时: systems <- read.table("http://getfile.pl?test.csv", header = TRUE, sep = ",") 我收到一条错误消息。 不允许重复的row.name 在我看来,第一列名称是造成此问题的原因。当我手动下载文件并StartDate从文件中删除名称时,R成功读取该文件并将第一列名称替换为X。有人可以告诉我怎么回事吗?该文件是(逗号分隔)的csv文件。
69 r  csv  r-faq 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.