对于数据集,有两种存储条件,一种是24小时,一种是48小时。测量每种储存条件下的脂质浓度。
目前数据排列如下:
treatment |Lipid 1 | Lipid 2 | Lipid 3
24hr |X
24hr
24hr
48hr
48hr
48hr
我需要什么代码?谢谢您的帮助!
试试这个,注意在我的示例数据中,我们需要提供一个
values_fn
参数来聚合有多个值的地方。
首先,我们需要
pivot_longer
获取一列中的所有值,然后我们可以向后旋转更宽,将小时放入各自的列中。
library(tidyverse)
data %>% pivot_longer(cols=starts_with("Lipid")) %>%
pivot_wider(names_from = treatment, values_from = value, values_fn = sum)
data <- data.frame(
treatment = c("24hr", "24hr", "24hr", "48hr", "48hr", "48hr"),
Lipid1 = c(10, 12, 9, 25, 28, 23),
Lipid2 = c(15, 18, 14, 30, 33, 29),
Lipid3 = c(20, 24, 19, 35, 38, 34)
)
# A tibble: 3 × 3
name `24hr` `48hr`
<chr> <dbl> <dbl>
1 Lipid1 31 76
2 Lipid2 47 92
3 Lipid3 63 107