假设我有以下数据框架。

我有一个含有浓度的载体:
concentration <- c(0.0001, 0.001, 0.01, 0.1, 1, 10)我想做的是:如果相同=否。填上那药的浓度。所以看起来是这样的:

会有什么方法来实现自动化吗?
发布于 2022-06-02 08:10:45
df$Concentration = rep(c(0.0001, 0.001, 0.01, 0.1, 1, 10), length.out = nrow(df))发布于 2022-06-02 09:26:22
假设浓度总是从最低的(0.0001)开始,并且任何增加都是10倍,那么你可以很容易地根据药物id生成它,而不需要“同一”列。
df <- data.frame(Drug = c(rep(1, 6), rep(2, 7)))
df %>%
group_by(Drug) %>%
mutate(Concentration = 0.0001 * 10^(row_number()-1))
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 100https://stackoverflow.com/questions/72472760
复制相似问题