如何在从长格式到宽格式的R中重新整形时创建新的列名?

时间:2017-04-17 18:45:09

标签: r dplyr reshape tidyr

我想重新整理从长格式到宽格式的一些数据,但令我困惑的是如何根据原始长格式的特定列重命名新列。

Name <- c("Brian","Brian","Brian")
Age <- c(22,22,22)
Date <- c("2017.1.3","2017.1.3","2017.1.4")
School <- c("PH","En","Math")
Score <- c(100,99,98)
Course <- c("Epi751","Python","Statistics")

data <- data.frame(Name, Age, Date, School, Score, Course)
data

表格看起来像

 Name  Age  Date     School   Score Course
1 Brian 22  2017.1.3 PH       100   Epi751
2 Brian 22  2017.1.3 En       99    Python
3 Brian 22  2017.1.4 Math     98    Statistics

那么我该如何改变呢?

Name   Age Date_Epi751 School_Epi751 Score_Epi751 Date_Python School_Python Score_Python Date_Statistics School_Statistics Score_Statistics
Brian  22  2017.1.3    PH            100          2017.1.3     En                    99           2017.1.4         Math              98

1 个答案:

答案 0 :(得分:0)

好吧,你可以尝试reshape

> reshape(data, timevar="Course", idvar = "Name", direction="wide")
Name Age.Epi751 Date.Epi751 School.Epi751 Score.Epi751 Age.Python
1 Brian         22    2017.1.3            PH          100         22
Date.Python School.Python Score.Python Age.Statistics Date.Statistics
1    2017.1.3            En           99             22        2017.1.4
School.Statistics Score.Statistics
1              Math               98

以下是有关如何使用重塑的参考,HOW CAN I RESHAPE MY DATA IN R?