Tag: r faq

为什么“安全”比“安全”更安全?

文件说 vapply类似于sapply ,但具有预先指定的返回值types,因此可以更安全地使用。 请你详细说明为什么它通常更安全,也许提供例子? PS:我知道答案,我已经倾向于避免sapply 。 我只希望在这里有一个很好的答案,所以我可以指出我的同事。 请不要“阅读手册”的答案。

as.Date从“ddmmmyyyy”转换时返回NA

我试图将string“2013-JAN-14”转换为date如下: sdate1 <- "2013-JAN-14" ddate1 <- as.Date(sdate1,format="%Y-%b-%d") ddate1 但是我得到: [1] NA 我究竟做错了什么 ? 我应该为此安装一个软件包(我尝试安装chron)。

在向量中查找多个元素

假设我有以下vector: > x <- sample(1:10,20,replace=TRUE) > x [1] 8 6 9 9 7 3 2 5 5 1 6 8 5 2 9 3 5 10 8 2 我怎样才能find哪些元素是8或9?

为什么R对象不能在函数或“for”循环中打印?

我有一个名为ddd的Rmatrix。 当我input这个时,一切工作正常: i <- 1 shapiro.test(ddd[,y]) ad.test(ddd[,y]) stem(ddd[,y]) print(y) 呼叫夏皮罗·威尔克,安德森·达林,并干所有的工作,并提取相同的专栏。 如果我把这个代码放在一个“for”循环中,那么对Shapiro Wilk和Anderson Darling的呼叫停止工作,而干叶呼叫和打印呼叫继续工作。 for (y in 7:10) { shapiro.test(ddd[,y]) ad.test(ddd[,y]) stem(ddd[,y]) print(y) } The decimal point is 1 digit(s) to the right of the | 0 | 0 0 | 899999 1 | 0 [1] 7 如果我尝试写一个函数,也会发生同样的事情。 SW&AD不起作用。 其他的电话呢。 > D <- function (y) { […]

用所有vector元素的组合粘贴两个vector

我有两个向量: vars <- c("SR", "PL") vis <- c(1,2,3) 基于这些vector,我想创build以下vector: "SR.1" "SR.2" "SR.3" "PL.1" "PL.2" "PL.3" paste我有以下结果: paste(vars, vis, sep=".") [1] "SR.1" "PL.2" "SR.3" 我如何创build我需要的vector?

为什么不build议在R中使用attach(),我应该使用什么呢?

假设我们有一个数据框x ,其中包含列job和income 。 参考框架中的数据通常需要命令x$job用于job列中的数据, x$income用于income列中的数据。 但是,使用attach(x)命令可以在引用相同的数据时删除数据框的名称和$符号。 因此, x$job变成job , x$income变成R代码中的income 。 问题在于R中的许多专家build议在R编码时不要使用attach()命令。 这主要是什么原因? 应该用什么来代替?

R中的条件合并/replace

我有两个dataframe: df1 x1 x2 1 a 2 b 3 c 4 d 和 df2 x1 x2 2 zz 3 qq 我想根据df1 $ x1和df2 $ x2之间的条件匹配,用df2 $ x2中的值replacedf1 $ x2中的一些值,以产生: df1 x1 x2 1 a 2 zz 3 qq 4 d

将UNIX纪元转换为date对象

我正在绘制并对均匀分布的时间序列进行计算。 时间戳当前以整数forms存储,表示自UNIX纪元(例如1352068320 )以来的1352068320 ,但Date对象似乎更适合于绘图。 我怎么做转换? 我读过?Date , ?Date和??epoch ,但似乎错过了这些信息。

如何从string中删除所有的空格?

所以" xx yy 11 22 33 "将变成"xxyy112233" 。 我怎样才能做到这一点?

添加包含另一列的bin值的列

我有一个数据框有几列,其中一列是排名,1至20之间的整数。我想要创build另一列包含像“1-4”,“5-10”,“11 – 15“,”16-20“。 什么是最有效的方法来做到这一点? 我有这样的数据框(.csv格式): rank,name,info 1,steve,red 3,joe,blue 6,john,green 3,liz,yellow 15,jon,pink 我想添加另一列到数据框,所以它会是这样的: rank,name,info,binValue 1,steve,red,"1-4" 3,joe,blue,"1-4" 6,john,green, "5-10" 3,liz,yellow,"1-4" 15,jon,pink,"11-15" 我现在这样做的方式是行不通的,因为我想保持data.frame完整,只要添加另一列,如果df $排名的值是在给定的范围内。 谢谢。