如何解决如何根据 df 中特定列的 nrows 减少代表的长度
我有这个载体(重复 10 倍稀释)
amount<-rep(c(0.1,0.01,0.001,0.0001,0.00001,0.000001,0.0000001),each = 3)
并希望根据 df 中每列的长度对其进行调整,例如如果 CT_1 有 15 个值,那么数量应该是
amount<-rep(c(0.1,0.00001),each = 3)
如果 CT3 有 20 个值,那么数量应该是
amount<-rep(c(0.1,each = 3)
由于 CT_3 中数量为 0.0000001 的重复次数仅为 2 个,因此数量为 each = 3
会不会有问题?
但是有没有办法控制每个不同情况下代表的大小(=任何列的不同行数)?
CT_1 CT_2 CT_3 amount
<dbl> <dbl> <dbl> <dbl>
1 14.2 12.4 12.0 1
2 14.2 12.4 11.9 1
3 14.3 12.8 11.8 1
4 17.4 16.5 15.9 0.1
5 17.3 16.5 15.9 0.1
6 17.4 16.6 15.6 0.1
7 21.2 19.9 19.3 0.01
8 21.3 20.0 19.6 0.01
9 21.1 20.0 19.3 0.01
10 24.6 23.2 20.4 0.001
11 24.6 23.5 22.0 0.001
12 24.8 23.4 22.8 0.001
13 27.6 26.4 26.1 0.0001
14 27.8 26.5 26.1 0.0001
15 27.8 26.5 26.1 0.0001
16 NA 30.0 29.3 0.00001
17 NA 30.2 29.5 0.00001
18 NA 30.4 NA 0.00001
解决方法
你可以简单地从 rep 中只获取 n 个元素
# or check if number of not NA in your data
for (current_col in names(data)) {
col_data <- data[[current_col]]
col_data <- col_data[!is.na(col_data)]
# get number of row in your data
n_max <- length(col_data)
# Use length.out for control the size of rep
amount <- rep(c(0.1,0.01,0.001,0.0001,0.00001,0.000001,0.0000001),each = 3,length.out = n_max)
# Your regression analysis code here
# ...
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。