当我整理数据表时,我是这样做的。
SS1对齐rep1,SS2对齐rep2,SS3对齐rep3。例如,在第一行中,24.3是给tr1的,10.3是给tr3的,30.7是给tr2的。
我想要的是将SS列转置为行。
你能告诉我如何将列转置为行,并与原始值对齐吗?
A <- data.frame(
Season = rep(2023, 5),
crop = rep("Soybean", 5),
treatment = rep("Inside panel", 5),
plot = rep(6, 5),
row = 1:5,
rep1 = c(24.30, 30.30, 21.80, 22.90, 20.60),
rep2 = c(10.30, 0.00, 29.30, 0.00, 30.80),
rep3 = c(30.70, 28.40, 15.50, 22.30, 17.40),
SS1 = c("tr1", "tr1", "tr1", "tr3", "tr1"),
SS2 = c("tr3", "tr2", "tr2", "tr2", "tr3"),
SS3 = c("tr2", "tr3", "tr3", "tr1", "tr2")
)
Season crop treatment plot row rep1 rep2 rep3 SS1 SS2 SS3
1 2023 Soybean Inside panel 6 1 24.3 10.3 30.7 tr1 tr3 tr2
2 2023 Soybean Inside panel 6 2 30.3 0.0 28.4 tr1 tr2 tr3
3 2023 Soybean Inside panel 6 3 21.8 29.3 15.5 tr1 tr2 tr3
4 2023 Soybean Inside panel 6 4 22.9 0.0 22.3 tr3 tr2 tr1
5 2023 Soybean Inside panel 6 5 20.6 30.8 17.4 tr1 tr3 tr2
SS1对齐rep1,SS2对齐rep2,SS3对齐rep3。例如,在第一行中,24.3是给tr1的,10.3是给tr3的,30.7是给tr2的。
我想要的是将SS列转置为行。
B=data.frame(
Season = rep(2023, 15),
crop = rep("Soybean", 15),
treatment = rep("Inside panel", 15),
plot = rep(6, 15),
row = rep(1:5, each = 3),
rep = rep(1:3, times = 5),
SS = c("tr1", "tr3", "tr2", "tr1", "tr2", "tr3", "tr1", "tr2", "tr3", "tr3", "tr2", "tr1", "tr1", "tr3", "tr2"),
yield = c(24.30, 10.30, 30.70, 30.30, 0.00, 28.40, 21.80, 29.30, 15.50, 22.90, 0.00, 22.30, 20.60, 30.80, 17.40))
Season crop treatment plot row rep SS yield
1 2023 Soybean Inside panel 6 1 1 tr1 24.3
2 2023 Soybean Inside panel 6 1 2 tr3 10.3
3 2023 Soybean Inside panel 6 1 3 tr2 30.7
4 2023 Soybean Inside panel 6 2 1 tr1 30.3
5 2023 Soybean Inside panel 6 2 2 tr2 0.0
6 2023 Soybean Inside panel 6 2 3 tr3 28.4
7 2023 Soybean Inside panel 6 3 1 tr1 21.8
8 2023 Soybean Inside panel 6 3 2 tr2 29.3
9 2023 Soybean Inside panel 6 3 3 tr3 15.5
10 2023 Soybean Inside panel 6 4 1 tr3 22.9
11 2023 Soybean Inside panel 6 4 2 tr2 0.0
12 2023 Soybean Inside panel 6 4 3 tr1 22.3
13 2023 Soybean Inside panel 6 5 1 tr1 20.6
14 2023 Soybean Inside panel 6 5 2 tr3 30.8
15 2023 Soybean Inside panel 6 5 3 tr2 17.4
你能告诉我如何将列转置为行,并与原始值对齐吗?
names_to = c('.value', NA)
代替select(-set)
,或者使用names_to = '.value'
并且只捕获第一部分的模式,即names_pattern = "(rep|SS)\\d+"
- undefined