R中数据帧的重新排列

R中数据帧的重新排列,r,transform,R,Transform,所以我有一个R输出,看起来像这样 Time 50 100 150 200 250 300 350 Carla 1.2 1.8 2.2 2.3 3.0 2.5 1.8 Mace 1.5 1.1 1.9 2.0 3.6 3.0 2.5 Lea 1.7 1.6 2.3 2.7 2.6 2.2 2.6 Karen 1.3 1.7 1.9 2.2 3.2 1.5 1.9 Time Score Name 50 1.

所以我有一个R输出,看起来像这样

Time    50  100  150  200  250  300  350
Carla  1.2  1.8  2.2  2.3  3.0  2.5  1.8
Mace   1.5  1.1  1.9  2.0  3.6  3.0  2.5
Lea    1.7  1.6  2.3  2.7  2.6  2.2  2.6
Karen  1.3  1.7  1.9  2.2  3.2  1.5  1.9
Time  Score   Name
50    1.2     Carla
50    1.5     Mace
50    1.7     Lea
50    1.3     Karen
100   1.8     Carla
100   1.5     Mace
100   1.7     Lea
100   1.3     Karen
我希望它看起来像这样

Time    50  100  150  200  250  300  350
Carla  1.2  1.8  2.2  2.3  3.0  2.5  1.8
Mace   1.5  1.1  1.9  2.0  3.6  3.0  2.5
Lea    1.7  1.6  2.3  2.7  2.6  2.2  2.6
Karen  1.3  1.7  1.9  2.2  3.2  1.5  1.9
Time  Score   Name
50    1.2     Carla
50    1.5     Mace
50    1.7     Lea
50    1.3     Karen
100   1.8     Carla
100   1.5     Mace
100   1.7     Lea
100   1.3     Karen
如何将其转换为此?
谢谢

我从这里直接复制了您的数据集,并对其进行了一些处理:

library(reshape2)

data <- read.fwf("data.txt",widths=c(7,5,7,5,4,4,4,3))
data <- data.frame(lapply(data,function(x){gsub(" ","",x)}),stringsAsFactors=FALSE)
data <- data.frame(lapply(data,as.character),stringsAsFactors=FALSE)
names(data) <- data[1,]
data <- data[-1,]

data <- melt(data,id.vars=c("Time"))
names(data) <- c("Name","Time","Score")
data <- data[,c("Time","Score","Name")]
library(重塑2)

数据两种方法,均不需要外部包装:

# get the data, the number labelled columns get automatically renamed
# to say 'X50' instead of '50'
test <- read.table(text="Time   50   100    150  200 250 300 350
Carla  1.2   1.8   2.2  2.3 3.0 2.5 1.8
Mace   1.5   1.1   1.9  2.0 3.6 3.0 2.5
Lea    1.7   1.6   2.3  2.7 2.6 2.2 2.6
Karen  1.3   1.7   1.9  2.2 3.2 1.5 1.9",header=TRUE)
方法2:基础R
重塑

result <- reshape(test, idvar="Time", varying=-1, direction="long", sep="")
names(result) <- c("Name","Time","Score")

> head(result)
           Name Time Score
Carla.50  Carla   50   1.2
Mace.50    Mace   50   1.5
Lea.50      Lea   50   1.7
Karen.50  Karen   50   1.3
Carla.100 Carla  100   1.8
Mace.100   Mace  100   1.1

结果是
表格
矩阵
数据帧
?你能
dput(objectname)
让我知道你在处理什么吗?