[英]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.