如何将选定的行转换为R中的列?

时间:2018-06-20 18:03:33

标签: r dataframe data-manipulation data-cleaning

我一直在使用数据集,该数据集要求我拆分某些选定的行并将其转换为列。我通常用于这类事情的传播函数并不能完全按照我想要的方式工作。这是我得到的最接近的可重现示例:

df<-data.frame(person=c("Matt","Tom","Shane","Shane"),salary=c(100,200,500,400))
> df
  person salary
1   Matt    100
2    Tom    200
3  Shane    500
4  Shane    400

假设这是我得到的数据框,如何将person == Shane所在的行拆分为单独的列?这是我一直在努力实现的目标:

  person salary  Shane
1   Matt    100  500
2   Tom     200  400

我该如何去做。非常感谢。

1 个答案:

答案 0 :(得分:0)

我不确定为什么要这么做,但是使用dplyr:

df2<-filter(df,person!='Shane')
df2$Shane<-filter(df,person=='Shane')$salary
> df2
  person salary Shane
1   Matt    100   500
2    Tom    200   400