我有此数据
df <- structure(list(
Replicate = c(1L, 1L, 3L, 3L),
VF = c(2, 2, 1.7, 1.95),
VI = c(2.15, 2.05, 1.7, 2.2)),
row.names = c(1L, 2L, 4L, 5L),
class = "data.frame")
如何对这些数据进行变异以使两个样本(VI和VF)在列中均具有重复项?我想将VF_Rep1 VF_Rep3 VI_Rep1 VI_Rep3
作为新列。
答案 0 :(得分:1)
我们将{VF},'VI'列gather
设置为'long'格式,然后创建一个按'Replicate','key'分组的序列,然后spread
将其返回到'wide'格式
library(tidyverse)
df %>%
gather(key, val, VF:VI) %>%
group_by(Replicate = paste0("Rep", Replicate), key) %>%
mutate(rn = row_number()) %>%
unite(RepK, key, Replicate) %>%
spread(RepK, val)