我想重新整理从长格式到宽格式的一些数据,但令我困惑的是如何根据原始长格式的特定列重命名新列。
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
答案 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?