R根据条件填写浓度向量
R fill in vector for concentration based on condition
我 运行 遇到以下问题:
我有以下 data.table:
我有一个浓度范围:
concentrations <- c(0.0001, 0.001, 0.01, 0.1, 1, 10)
我想要发生的是,如果相同=“否”,则向下填写浓度范围,如下所示:
但我还想发生的是,如果我将第 7 种药物浓度添加到数据表中,我希望该药物浓度变为 NA,然后继续。像这样:
我之前发布过这个问题,但现在我更详细了。
concentration <- c(0.0001, 0.001, 0.01, 0.1, 1, 10)
df <- data.frame(Drug = c(rep(1, 6), rep(2, 7), rep(3, 3)))
df %>%
group_by(Drug) %>%
mutate(Concentration = concentration[row_number()])
# A tibble: 16 x 2
# Groups: Drug [3]
Drug Concentration
<dbl> <dbl>
1 1 0.0001
2 1 0.001
3 1 0.01
4 1 0.1
5 1 1
6 1 10
7 2 0.0001
8 2 0.001
9 2 0.01
10 2 0.1
11 2 1
12 2 10
13 2 NA
14 3 0.0001
15 3 0.001
16 3 0.01
我 运行 遇到以下问题:
我有以下 data.table:
我有一个浓度范围:
concentrations <- c(0.0001, 0.001, 0.01, 0.1, 1, 10)
我想要发生的是,如果相同=“否”,则向下填写浓度范围,如下所示:
但我还想发生的是,如果我将第 7 种药物浓度添加到数据表中,我希望该药物浓度变为 NA,然后继续。像这样:
我之前发布过这个问题,但现在我更详细了。
concentration <- c(0.0001, 0.001, 0.01, 0.1, 1, 10)
df <- data.frame(Drug = c(rep(1, 6), rep(2, 7), rep(3, 3)))
df %>%
group_by(Drug) %>%
mutate(Concentration = concentration[row_number()])
# A tibble: 16 x 2
# Groups: Drug [3]
Drug Concentration
<dbl> <dbl>
1 1 0.0001
2 1 0.001
3 1 0.01
4 1 0.1
5 1 1
6 1 10
7 2 0.0001
8 2 0.001
9 2 0.01
10 2 0.1
11 2 1
12 2 10
13 2 NA
14 3 0.0001
15 3 0.001
16 3 0.01