Sop*_*010 1 transpose pivot-table r dataframe
作为初学者,我有一个df包含 200 多个列的数据框,我想按如下方式转换该数据框。这是输入:
Company Team_1 Team_Desc_1 Team_URL_1 Team_2 Team_Desc_2 Team_URL_2 Team_3 Team_Desc_3 Team_URL_3 ...
abc Name1 Desc1 URL1 Name2 Desc2 URL2 Name3 Desc3 URL3 ...
def Name1.1 Desc1.1 URL1.1 Name2.1 Desc2.1 URL2.1 Name3.1 Desc3.1 URL3.1 ...
ghi Name1.2 Desc1.2 URL1.2 Name2.2 Desc2.2 URL2.2 Name3.2 Desc3.2 URL3.2 ...
Run Code Online (Sandbox Code Playgroud)
我想按如下方式转换这个 df :
Company Team Team_Desc Team_URL
abc Name1 Desc1 URL1
abc Name2 Desc2 URL2
abc Name3 Desc3 URL3
def Name1.1 Desc1.1 URL1.1
def Name2.1 Desc2.1 URL2.1
def Name3.1 Desc3.1 URL3.1
ghi Name1.2 Desc1.2 URL1.2
ghi Name2.2 Desc2.2 URL2.2
ghi Name3.2 Desc3.2 URL3.2
... ... ... ...
Run Code Online (Sandbox Code Playgroud)
所以我想在一列中添加所有名称以及相应的公司、描述和 URL。如何在 R 中通过循环对多个列执行此操作,这些列的名称都相同,并且列名称末尾的值递增,如本例所示?谢谢你!
和pivot_longer:
library(tidyr)
pivot_longer(dat,
-Company,
names_to = ".value",
names_pattern = "(Team[_|Desc|URL]*)_\\d")
Run Code Online (Sandbox Code Playgroud)
Company Team Team_Desc Team_URL
1 abc Name1 Desc1 URL1
2 abc Name2 Desc2 URL2
3 abc Name3 Desc3 URL3
4 def Name1.1 Desc1.1 URL1.1
5 def Name2.1 Desc2.1 URL2.1
6 def Name3.1 Desc3.1 URL3.1
7 ghi Name1.2 Desc1.2 URL1.2
8 ghi Name2.2 Desc2.2 URL2.2
9 ghi Name3.2 Desc3.2 URL3.2
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
169 次 |
| 最近记录: |