R:如何在 data.frame 的行上使用 apply 并取出 $column_name?

标签 r dataframe

我正在尝试使用以下示例访问 $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/

相关文章:

r - 将查找表转换为 xgboost 模型

r - 如何使用 FTP 下载 R 包

python - Pandas Dataframe 过滤器包含 ('.' ),Python 3.6

python - 如果在另一个数据框中找到重复项,如何从一个数据框中删除重复项

python - 根据 Pandas 中的 pct_change 和之前的值计算当前值

r - 根据第一列中的值将函数应用于数据框中除第一列之外的所有行和列

r - 删除取值小于 n 的列?

r - 在 R 中合并 netCDF 文件

r - 如何将列作为行名放在数据框中

r - 如何删除一行,因为它在另一列中只有一个或相同的条目?