将行值分散到列中
数据看起来像
> head(df2)
ID fungi Conc Abs date_no
1 1 R3 2.500000 0.209 0
22 1 R3 1.250000 0.153 0
43 1 R3 0.625000 0.159 0
64 1 R3 0.312500 0.164 0
85 1 R3 0.156250 0.157 0
106 1 R3 0.078125 0.170 0
我使用了这个函数,它将date列展开为三列,但没有正确填充它们。
separate_DF <- spread(df2, "date_no", "Abs")
我得到的是这个。
> head(df3)
ID fungi Conc date_no_0 date_no_1 date_no_3
1 1 R3 0.01953125 0.162 NA NA
2 1 R3 0.03906253 0.169 NA NA
3 1 R3 0.07812500 0.170 NA NA
4 1 R3 0.15625000 0.157 NA NA
5 1 R3 0.31250000 0.164 NA NA
6 1 R3 0.62500000 0.159 NA NA
以使三个日期列由ABS值填充。每种真菌在每种浓度下都有自己的一排。
发布于 2019-04-08 17:08:43
试试这个,
library(tidyr)
txt <- "fungi date Abs Conc
1 1 x 2.5
1 2 x 2.5
1 3 x 2.5
2 1 x 2.5
2 2 x 2.5
2 3 x 2.5
"
date_df <- read.table(textConnection(txt), header = TRUE)
print(spread(date_df, date, Abs, sep=""))
结果:
fungi Conc date1 date2 date3
1 1 2.5 x x x
2 2 2.5 x x x
https://stackoverflow.com/questions/55578356
复制相似问题