【发布时间】:2021-08-06 10:11:24
【问题描述】:
这是我数据的一小部分:
A1 <- data.frame(Cell_ID = c("M", "M", "M", "BR", "BR", "BR"),
Pulse_ID = c(1, 2, 3, 1, 2, 3),
x = c(45.0495, 40.044, 55.0605, 45.0495, 40.044, 35.0385))
A2 <- data.frame(Cell_ID = c("M", "M", "M", "BR", "BR", "BR"),
Pulse_ID = c(1, 2, 3, 1, 2, 3),
x = c(30.033, 45.0495, 45.0495, 45.0495, 35.0385, 45.0495))
>A1 #A2 is the same format
Cell_ID Pulse_ID x
M 1 45.0495
M 2 40.0440
M 3 55.0605
BR 1 45.0495
BR 2 40.0440
BR 3 35.0385
wells <- list(A1, A2)
旋转表格以使每一列都是一个新的 Cell_ID 是可以的。但我似乎无法在下面的函数中插入数据框名称作为前缀(例如 names_prefix = "A1_")。
df <- lapply(wells, function(well){
well %>%
pivot_wider(names_from = Cell_ID, values_from = x, names_prefix = **WHAT DO I INSERT HERE**)
})
final <- df %>% reduce(full_join, by = "Pulse_ID")
我认为我不能通过lapply 运行数据框,同时尝试在函数中提取数据框名称。我考虑过使用循环,但我也想不通。我有超过 100 个数据帧来运行它,所以我不能手动输入每个前缀。最终,我需要合并数据框,因此列名非常重要。
我的最终产品需要如下所示:
# A tibble: 6 x 9
Pulse_ID A1_M A1_BR A2_M A2_BR A3_M...
1 45.0 45.0 30.0 55.1 ... and so on
2 40.0 40.0 45.0 45.0 ...
3 55.1 35.0 45.0 30.0 ...
有什么建议吗?谢谢!
【问题讨论】: