我正在尝试使用以下示例访问 $a:
df<-data.frame(a=c("x","x","y","y"),b=c(1,2,3,4))
> df
a b
1 x 1
2 x 2
3 y 3
4 y 4
test_fun <- function (data.frame_in) {
print (data.frame_in[1])
}
如果我对第一列使用索引,我现在可以访问 $a:
apply(df, 1, test_fun)
a
"x"
a
"x"
a
"y"
a
"y"
[1] "x" "x" "y" "y"
但是我无法使用 $ 符号访问 $a 列:错误:“$ 运算符对原子向量无效”
test_fun_2 <- function (data.frame_in) {
print (data.frame_in$a)
}
>apply(df, 1, test_fun_2)
Error in data.frame_in$a : $ operator is invalid for atomic vectors
这不可能吗?
最佳答案
您可以使用 adply
来自 plyr 包:
library(plyr)
adply(df, 1, function (data.frame_in) print(data.frame_in$a))
关于R:如何在 data.frame 的行上使用 apply 并取出 $column_name?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2497111/