我正在使用R转置来自Excel文件(mydata.xls)的数据帧。 原始数据帧是这样的:转置数据帧
ID AB_1 AB_2 AB_3 AB_4 AB_5
Variable1 1 2 3 4 5
Variable2 1.5 2.8 4.5 5.6 7.8
这是我想什么来实现:
ID Variable1 Variable2
AB_1 1 1.5
AB_2 2 2.8
AB_3 3 4.5
AB_4 4 5.6
AB_5 5 7.8
这里是我做的,按照上similar post in the past的响应。
Library(XLConnect)
x=loadWorkbook("mydata.xls")
y=readWorksheet(x,"Summary")
z=setNames(data.frame(t(y[,-1])),y[,1])
然而,这里是我的了:
z
Variable1 Variable2
AB_1 1 1.5
AB_2 2 2.8
AB_3 3 4.5
AB_4 4 5.6
AB_5 5 7.8
两个问题都注意到了: 1. “ID” 丢失。 2.当我检查新的数据帧的第一列,第二列被退回(参见下文)
z[,1]
[1] 1 2 3 4 5
不知1)发生了什么“ID”和整列? 2)问题如何解决?
ID不是一列,它以列名开头,所以它变成了行名。它可以变成一个专栏。 –
要获得行名称作为列,您可以执行z $ ID <-rownames(z) –
不太清楚 - 但我认为'AB_ *'是行名称,而不是一列数据。这就是为什么你感到困惑。我敢打赌你会发现'z [,3]'不存在。 –