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