2
我正在处理大型数据框,而不是将操作写入内存,我一直试图尽可能多地使用管道。在试图检查我的因素水平的中间步骤中,我遇到了一个问题,使用levels
函数,并想知道是否有人可能知道问题是什么。无法将管道变量转换为水平
一个例子:
library(dplyr)
Data <- data.frame(x = rep(LETTERS[1:5],3),
y = sample(1:10,length(x), replace=T))
通常的工作方式:
levels(Data$x)
[1] "A" "B" "C" "D" "E"
如果我使用sapply
它主要作品:
Data %>% select(x) %>% sapply(levels)
x
[1,] "A"
[2,] "B"
[3,] "C"
[4,] "D"
[5,] "E"
但管道不能正常工作,并返回NULL
:
Data %>% select(x) %>% levels()
NULL
为什么Data %>% select(x) %>% levels()
返回NULL
?
有没有办法使用管道数据的水平?
完美!谢谢! – JLC
有没有办法通过上述两种方法将两个变量传递给关卡? – JLC
我不这么认为。如果你有多个变量,像你一样选择然后应该是正确的方法。 – Psidom