gpt4 book ai didi

r - 在 R 数据框中将一列分成几列,然后进行透视

转载 作者:行者123 更新时间:2023-12-03 22:54:23 33 4
gpt4 key购买 nike

我有一个包含两列的以下格式的数据框。

第一列是名称,第二列是描述,表示层次结构中的级别。即A校和B校是同一层级,Class比school低一级,所以他们的des比较长,在其school des1@123后多了一个@,即1@124。然后学生……

name        des
School A 1@123
School B 1@124
Class A 1@123@230
Class B 1@123@231
Class C 1@124@232
Class D 1@124@233
Student 1 1@123@230@001
Student 2 1@123@231@002
Student 3 1@123@231@003
Student 4 1@124@232@004
Student 5 1@124@233@005

我想根据他们的设计将数据重新排列成几列,如旋转。即不确定我们在 R 中是否有任何相关代码?谢谢。

School A    Class A   Student 1
School A Class B Student 2
School A Class B Student 3
School B Class C Student 4
School B Class D Student 5

最佳答案

这应该可以帮助您完成大部分工作,剩下的只是重新编码或查找

library(tidyr)
library(dplyr)

separate(df, des, into = c("School_1", "School_2", "Class"),
sep = "@", extra = "drop") %>%
unite(School, School_1:School_2) %>%
.[grepl("Student", .$name), ]

# name School Class
# 7 Student 1 1_123 230
# 8 Student 2 1_123 231
# 9 Student 3 1_123 231
# 10 Student 4 1_124 232
# 11 Student 5 1_124 233
# 12 Student 5 1_124 233

关于r - 在 R 数据框中将一列分成几列,然后进行透视,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28990842/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com