我是 Re 的新手,有一个与此类似的数据集:
df <- data.frame(x = c(30, 1017, 1527, 1827,10496, 10794, 11270, 12261),
y = c(4.1, 2.6, 1.7, 1.1, 0.9, 1.1, 1.4, 3.1),
cod = c(3011, 3011, 3011, 3011, 3011, 3011, 3011, 2043),
label = c('start', 'start1', 'start2', 'start3', 'start4', 'start5', 'start6', 'start7'))
df
x y cod label
1 30 4.1 3011 start
2 1017 2.6 3011 start1
3 1527 1.7 3011 start2
4 1827 1.1 3011 start3
5 10496 0.9 3011 start4
6 10794 1.1 3011 start5
7 11270 1.4 3011 start6
8 12261 3.1 2043 start7
Run Code Online (Sandbox Code Playgroud)
如何将标签列的行转换为数据集的列?
我需要类似的东西:
start start1 start2 start3 start4 start5 start6 start7
30.0 1017.0 1527.0 1827.0 10496.0 10794.0 11270.0 12261.0
4.1 2.6 1.7 1.1 0.9 1.1 1.4 3.1
3011.0 3011.0 3011.0 3011.0 3011.0 3011.0 3011.0 2043.0
Run Code Online (Sandbox Code Playgroud)
我们可以用 data.table::transpose
data.table::transpose(df, make.names = 'label')
# start start1 start2 start3 start4 start5 start6 start7
#1 30.0 1017.0 1527.0 1827.0 10496.0 10794.0 11270.0 12261.0
#2 4.1 2.6 1.7 1.1 0.9 1.1 1.4 3.1
#3 3011.0 3011.0 3011.0 3011.0 3011.0 3011.0 3011.0 2043.0
Run Code Online (Sandbox Code Playgroud)