我的任务是整理一些数据,并且在尝试从这种格式转换数据时遇到问题:
id occupation_busdriver occupation_cashier occupation_nurse
1 0 0 1
2 0 1 0
3 1 0 0
我的实际数据集要大得多,但这是我在努力的领域,因此,对此集的示例将不胜感激。
我已经尝试使用收集和选择功能
我正在寻找具有以下格式的数据:
id occupation
1 nurse
2 cashier
3 busdriver
答案 0 :(得分:1)
我们可以使用max.col
获取每行最大值的列索引,并根据该索引获取列名
data.frame(df1[1], occupation = sub(".*_", "", names(df1))[-1][max.col(df1[-1])])
# id occupation
#1 1 nurse
#2 2 cashier
#3 3 busdriver