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

回到顶部