[英]Convert 3 columns dataframe to a matrix - Change the names of similar column
我有一个3列数据框,我尝试将其转换为矩阵。
Name Act value
Alex C1 100
John C2 100
Matt C3 252
Alex C1 456
Alex C5 234
John C5 456
Tina C2 897
Matt C2 652
Jorge C1 344
Alex C1 34
Matt C3 231
我希望有类似的东西:
C1 C1.1 C1.2 C2 C3 C3.1 C4 C5
Alex 100 456 34 234
John 100 456
Matt 652 252 231
Tina 897
Jorge 344
我的意思是,因为我有相似的名称使得相同的行为具有不同/相同的分数,我想要而不是将值相加并将它们放在矩阵的单元格中,为该行为生成单独的列(同时具有数字名称的结尾)。 谢谢
使用tidyverse
,您可以:
df %>%
group_by(Name) %>%
mutate(Act = make.unique(Act)) %>%
spread(Act, value)
Name C1 C1.1 C1.2 C2 C3 C3.1 C5
<chr> <int> <int> <int> <int> <int> <int> <int>
1 Alex 100 456 34 NA NA NA 234
2 John NA NA NA 100 NA NA 456
3 Jorge 344 NA NA NA NA NA NA
4 Matt NA NA NA 652 252 231 NA
5 Tina NA NA NA 897 NA NA NA
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.