R:当使用向量变量来选择列时收集会发出警告
我在R中使用收集命令来折叠数据框,并给出了一个对我来说不清楚的警告。该命令完成它应该做的事情,但我想了解警告的原因。这是一个新的警告,可能与最近更新R安装和软件包有关。R:当使用向量变量来选择列时收集会发出警告
我重新与虹膜数据的简单示例中的问题,请参见下面,它的工作原理与列号2,3任何警告,但如果我用一个矢量创建为TT给出了警告:
> head(gather(iris,key=test,value=nn,2,3),2)     Sepal.Length Petal.Width Species   test nn 
299   6.2   2.3 virginica Petal.Length 5.4 
300   5.9   1.8 virginica Petal.Length 5.1 
> tt<- c(2,3) 
> head(gather(iris,key=test,value=nn,tt),2) 
    Sepal.Length Petal.Width Species   test nn 
299   6.2   2.3 virginica Petal.Length 5.4 
300   5.9   1.8 virginica Petal.Length 5.1 
Warning message: 
In if (!is.finite(x)) return(FALSE) : 
    the condition has length > 1 and only the first element will be used 
谢谢,Claudiu
回答:
总是更好有names而不是位置,因为位置可能会改变列删除或添加时。作为“TT”是一个数字指标,我们可以用它来子集列名
library(dplyr) library(tidyr) 
library(quantmod) 
last(gather(iris,key=test,value=nn, names(iris)[tt]),2) 
# Sepal.Length Petal.Width Species   test nn 
#299   6.2   2.3 virginica Petal.Length 5.4 
#300   5.9   1.8 virginica Petal.Length 5.1 
以上是 R:当使用向量变量来选择列时收集会发出警告 的全部内容, 来源链接: utcz.com/qa/257709.html

