我需要删除diff向量大于 2*std 的元素(我用误差线绘制,所以我需要从下面的所有四个向量中删除该数据点)。这是我的想法:
for (i in 1:length(Z)){
if (diff[[i]]>=(2*std)){
Z[[i]] <- NULL
ucl[[i]] <- NULL
lcl[[i]] <- NULL
x[[i]] <- NULL
}
}
Run Code Online (Sandbox Code Playgroud)
for 循环在第一次进入 if 语句后完全停止。我完全靠自己学了 R,所以请回答我,就好像我什么都不知道一样。
我在R中非常环保,所以可能有一个非常简单的解决方案:
我想计算方阵中列向量之间的平均相关性:
x<-matrix(rnorm(10000),ncol=100)
aux<-matrix(seq(1,10000))
loop<-sapply(aux,function(i,j) cov(x[,i],x[,j])
cor_x<-mean(loop)
Run Code Online (Sandbox Code Playgroud)
在评估sapply行时,我得到错误'下标超出界限'.我知道我可以通过脚本执行此操作但是有没有办法在一行代码中实现这一点?
有没有办法从一列中的名称没有单词的数据框中选择所有行?
例:
从这个数据框架
Organism Value
Boa (sick) 3
Cat 1
Cat (sick) 2
Wolf 2
Wolf (sick) 8
Crow 4
Run Code Online (Sandbox Code Playgroud)
我想要没有(sick)名字的行:
Organism Value
Cat 1
Wolf 2
Crow 4
Run Code Online (Sandbox Code Playgroud)
我知道数据格式错误,最好有第三列"健康",但我必须使用我拥有的数据.
我试图用书来学习R. 我试图做一个例子,对于矩阵的每一行,向量的对应元素将是1或0,这取决于该行中的大多数前d个元素是1还是0.使用的代码是: -
copymaj <- function(rw,d) {
maj <- sum(rw[1:d]) / d
return(if(maj > 0.5) 1 else 0)
}
x
[,1] [,2] [,3] [,4] [,5]
[1,] 1 0 1 1 0
[2,] 1 1 1 1 0
[3,] 1 0 0 1 1
[4,] 0 1 1 1 0
apply(x,1,copymaj,3)
Run Code Online (Sandbox Code Playgroud)
它显示上述错误.如果我这样做apply(x,1,copymaj(3)),仍会显示错误.
R 2.13安装请帮忙!
我正在尝试使用predict.plot或plot.predict(我已经看到它们在各种网站上被引用,我不知道哪一个是正确的).但是,在R中,这些都不是有效的功能.我不知道我是否错过了一个软件包,或者我所使用的资源是否已被过时的参考函数过时了.
该站点正在使用该功能
它很老了.熟悉统计数据的人是否可以帮助我弄清楚如何使用最新版本的R来做这件事,或者帮助我弄清楚如何获得predict.plot/ plot.predict工作?
我必须组合两个看起来像这样的数据帧我想在数据帧中采用公共列并将它们连接在一起.两个数据帧中的行将完全不同.
a b c
row1 1 0 1
row2 1 0 1
Run Code Online (Sandbox Code Playgroud)
另一个数据帧
d a c f
row3 1 0 1 1
row4 1 1 0 0
Run Code Online (Sandbox Code Playgroud)
我希望最终的数据集看起来像这样
a c
row1 1 1
row2 1 1
row3 0 1
row4 1 0
Run Code Online (Sandbox Code Playgroud)
这是来自两个数据帧的输入
dput(x1)
structure(list(d = c(1L, 1L), a = 0:1, c = c(1L, 0L), f = c(1L,
0L)), .Names = c("d", "a", "c", "f"), row.names = c("row3", "row4"
), class = "data.frame")
dput(x2)
structure(list(a = c(1L, 1L), b = …Run Code Online (Sandbox Code Playgroud) 我在R中遇到了一个函数.我有一个日期向量,我正在寻找间距超过5天的日期.
这是我的矢量的一部分:
[1] "2011-10-06" "2011-09-28" "2011-09-20" "2011-08-29" "2011-09-09" "2011-08-16"
[7] "2011-08-05" "2011-07-28" "2011-07-18" "2011-07-06" "2011-06-27" "2011-06-17"
[13] "2011-06-03" "2011-05-22" "2011-05-02" "2011-05-12" "2011-04-21" "2011-04-11"
[19] "2011-04-01" "2011-03-23
Run Code Online (Sandbox Code Playgroud)
我知道如何在我的矢量中计算时差如下:
dates <- as.list( c( "2011-10-06","2011-09-28","2011-09-20","2011-08-29","2011-09-09","2011-08-16","2011-08-05","2011-07-28","2011-07-18","2011-07-06","2011-06-27","2011-06-17","2011-06-03","2011-05-22","2011-05-02","2011-05-12","2011-04-21","2011-04-11","2011-04-01","2011-03-23" ) )
diff( as.Date( unlist(dates) ) )
#Time differences in days
# [1] -8 -8 -22 11 -24 -11 -8 -10 -12 -9 -10 -14 -12 -20 10 -21 -10 -10 -9
Run Code Online (Sandbox Code Playgroud)
我想要的是返回填写此标准的日期夫妇.例如,这对夫妇"2011-08-29","2011-09-09"是第一对在我的载体中满足"时差> 5天"标准的夫妇.
有没有办法归还计算出来的情侣?也许使用向量中的项目数?
谢谢你的帮助!
我是 R 的新手,我不知道如何让 R 计算子组的平均值,而子组本身就是子组的平均值。我会解释得更清楚。
我有一个像这样的数据框:
GROUP WORD WLN
1 1 4
1 1 3
1 1 3
1 2 2
1 2 2
1 2 3
2 3 1
2 3 1
2 3 2
2 4 1
2 4 1
2 4 1
... ... ...
Run Code Online (Sandbox Code Playgroud)
但真实的一共有5组25个单词(每组5个单词;每个单词都被5个受试者分配了1到4的数字......)。
我需要获取每个单词的 WLN 平均值,我可以使用循环轻松完成此操作并将结果保存在向量中;但然后我需要一个向量,其中根据单词所属的组来表示这些平均值...所以我需要第1组的单词的平均值,然后是第2组的单词的平均值...(我不知道不知道我是否说清楚了)。
如果不一组一组地做,我怎样才能得到这个呢?
我正在寻找一种简单的方法来获得M中长度N的所有可能的独特组合.
这是一个简单的例子:
M <- c( 1, 2, 3, 4, 5 )
N <- 2
Run Code Online (Sandbox Code Playgroud)
预期产量:
1, 2
1, 3
1, 4
1, 5
2, 3
2, 4
2, 5
3, 4
3, 5
4, 5
Run Code Online (Sandbox Code Playgroud) 我有一个没有任何内容的向量 x。
dput(x)
""
Run Code Online (Sandbox Code Playgroud)
当我这样做时,length(x)or nrow(data.frame(x)),它显示为 1。
我将如何设置 if 语句,如果它为空,则转到下一个?
我有它:
if(length(x)>1){
Run Code Online (Sandbox Code Playgroud)
似乎没有工作。