使用哪个函数提取列名称

时间:2017-10-25 09:04:24

标签: r

我正在研究R代码。我有一个有产品(变量)的数据集,在它下面我有10年的年度开支。现在我想进行行搜索并找到最大年度支出并提取最大值的变量/字段名称。

1 个答案:

答案 0 :(得分:0)

假设每个变量在R data.frame df中创建自己的列,我会按如下方式解决问题。 首先提取每行的最大值

(澄清:我正在使用包dplyr中的pip运算符“%>%”)

maxRow <- sapply(t(df) %>% as_data_frame(),max)

然后收集包含每行最大值的列名

sapply(1:nrow(df),function(idx){names(df)[df[idx,] == maxV[idx]]})

或者使用催化剂建议:

sapply(1:nrow(df),function(idx){which.max(df[idx,]) %>% names()})