Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 将少数列转到行并保留另一列_R_Dataframe - Fatal编程技术网

R 将少数列转到行并保留另一列

R 将少数列转到行并保留另一列,r,dataframe,R,Dataframe,如何将部分列转换为行并维护其余列 我有如下示例表: Name Date Math Science Computer Zed 201401 89 90 93 Ben 201401 98 92 89 Dan 201401 83 96 92 期望输出: Name Date Subject Grade

如何将部分列转换为行并维护其余列

我有如下示例表:

Name      Date      Math   Science    Computer
Zed      201401      89      90          93
Ben      201401      98      92          89
Dan      201401      83      96          92
期望输出:

Name      Date      Subject      Grade
Zed      201401      Math          89
Zed      201401      Science       90
Zed      201401      Computer      93
Ben      201401      Math          98
Ben      201401      Science       92
Ben      201401      Computer      89
Dan      201401      Math          83
Dan      201401      Science       96
Dan      201401      Computer      92
我尝试使用
t(dataFrame)
,但它会转换整个数据集


有人能帮忙吗?谢谢。

使用Reforme2软件包中的
melt
功能

> library(reshape2)
> melt(df, id=c("Name", "Date"), variable.name="Subject", value.name="Grade")
  Name   Date  Subject Grade
1  Zed 201401     Math    89
2  Ben 201401     Math    98
3  Dan 201401     Math    83
4  Zed 201401  Science    90
5  Ben 201401  Science    92
6  Dan 201401  Science    96
7  Zed 201401 Computer    93
8  Ben 201401 Computer    89
9  Dan 201401 Computer    92

在base R中,尝试以下操作:

cbind(mydf[c(1, 2)], stack(mydf[-c(1, 2)]))
#   Name   Date values      ind
# 1  Zed 201401     89     Math
# 2  Ben 201401     98     Math
# 3  Dan 201401     83     Math
# 4  Zed 201401     90  Science
# 5  Ben 201401     92  Science
# 6  Dan 201401     96  Science
# 7  Zed 201401     93 Computer
# 8  Ben 201401     89 Computer
# 9  Dan 201401     92 Computer

谢谢你的帮助。:)