我想轉置具有特定結構的資料框。資料框看起來像這樣
Col1 Col2 Col3 Col4
NameA PositionA URLA Firm1
NameB PositionB URLB Firm1
NameC PositionC URLC Firm2
NameD PositionD URLD Firm3
NameE PositionE URLE Firm3
...
我希望輸出看起來像這樣:
Col4 Name1 Position1 URL1 Name2 Position2 URL2
Firm1 NameA PositionA URLA NameB PositionB URLB
Firm2 NameC PositionC URLC
Firm3 NameD PositionD ULRD NameE PositionE URLE
...
所以基本上根據他們的姓名、職位和網址對每個公司的人進行排序。我為一家公司(所以每個公司的行數)最多有 49 人。大多數公司的行數少于 49 行,但我仍然希望每個名稱、職位和 url 有 49 列,如果公司的人數少于 49其余列應為空。
是否有任何代碼可以輕松地為大型資料集完成此操作?我希望這個問題的措辭可以理解。提前致謝!
uj5u.com熱心網友回復:
與pivot_wider:
library(dplyr)
library(tidyr)
dat %>%
rename_with(~ c("Name", "Position", "URL", "Firm")) %>%
group_by(Firm) %>%
mutate(id = row_number()) %>%
pivot_wider(names_from = id, values_from = Name:URL, names_vary = "slowest", names_sep = "")
# Firm Name1 Position1 URL1 Name2 Position2 URL2
# 1 Firm1 NameA PositionA URLA NameB PositionB URLB
# 2 Firm2 NameC PositionC URLC NA NA NA
# 3 Firm3 NameD PositionD URLD NameE PositionE URLE
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/518246.html
標籤:r数据框转置
