【发布时间】:2021-09-23 03:25:04
【问题描述】:
我有一个 df,我想根据其他列的内容添加一列。 我让它适用于一个样本:
df <- df %>%
mutate(SB013 = if_else(sample_id == "SB013", IN, OUT))
我添加一个名为 SB013 的列,如果 sample_id 列中的行 == "SB013" 然后添加列 IN 的内容,否则添加列 OUT 的内容。 我现在需要扩展它以添加更多的列作为 sample_id 的数量。 所以:
sample_names<- unique(df$sample_id)
sample_names
[1] "SB013" "SB014" "SB015" "SB016"
我尝试了几个 for 循环:
for (name in sample_names) {
comb.variant <- comb.variant %>%
mutate(name = if_else(sample_id == name, Alt,Ref))
}
其中只添加了一个名为“名称”的列。 并且:
for (i in 1:length(sample_names)) {
#print(sample_names[i])
comb.variant <- comb.variant %>%
mutate(sample_names[i] = if_else(sample_id == sample_names[i], Alt,Ref))
}
Error: unexpected '=' in:
" comb.variant <- comb.variant %>%
mutate(sample_names[i] ="
我该如何进行这项工作??
【问题讨论】:
-
为什么这个问题被标记了?请解释。我是新手,已经输入了我尝试过的所有代码???
-
不是我的反对意见,但通常问题应包括 3 个基本内容。 1) 示例数据 2) 预期输出 3) 您尝试过的代码。你有 3) 但没有 1) 和 2)。阅读how to give a reproducible example。