有没有相当于tidyr
%的方法来做这件事?我所拥有的是有效的,但我只是在努力学习这tidyr
个函数.花了大约一个小时试图强迫chat GPT向我展示如何做到这一点,但都没有奏效.我把它分成多个步骤,只是为了帮助我排除故障.我最终会用管道重新组合成一个步骤.
注意:数据帧本身是相当大的,有56000行和1,000列.我没有办法共享它,所以包括下面的head()输出.我不确定至少需要什么信息才能提供帮助.
# Step 1: Create the key column
temp1 <- BRes3 %>%
mutate(key1 = paste(Group, n, sep = "-"))
# Step 2: Remove unnecessary columns
temp2 <- temp1 %>%
select(key1, everything(), -mean, -`mean CI`, -sdev, -UCI, -LCI, -CIR, -n, -Group)
# Step 3: Transpose the data and set column names
temp3 <- setNames(data.frame(t(temp2[-1])), temp2$key1)
步骤2的数据帧 struct :
> head(temp2[1:5])
key1 est1 est2 est3 est4
X2 X1.A-2 10.799982 10.304256 10.20124 9.550119
X3 X1.A-3 10.3659866666667 10.465434 11.1673413333333 10.8014426666667
X4 X1.A-4 10.679331 10.781562 10.025603 10.1510665
X5 X1.A-5 11.4224648 11.6025256 10.5983192 11.618744
X6 X1.A-6 10.1707603333333 11.0518533333333 10.416587 10.18374
X7 X1.A-7 10.590982 10.6979774285714 10.6989508571429 10.1854577142857
所需的最终 struct :
> head(temp3[1:5])
X1.A-2 X1.A-3 X1.A-4 X1.A-5 X1.A-6
est1 10.799982 10.3659866666667 10.679331 11.4224648 10.1707603333333
est2 10.304256 10.465434 10.781562 11.6025256 11.0518533333333
est3 10.20124 11.1673413333333 10.025603 10.5983192 10.416587
est4 9.550119 10.8014426666667 10.1510665 11.618744 10.18374
est5 10.800006 9.970464 11.5241455 11.6005004 10.9990463333333
est6 12.30192 11.0995906666667 10.449673 10.2591216 10.7492366666667