[英]After imputation, how to round to nearest level of a factor
我在第q1. q1
列的以下數據框中估算了缺少的值q1. q1
q1. q1
是水平為0,20,40,60,80,100
的因子。 我需要將q1
列四舍五入到最接近的因子水平,數字49 and 91
需要四舍五入。 有人對此問題有解決方案嗎?,謝謝!
id <- rep(c(300,450), each=6)
> visit <- rep(1:6,2)
> trt <- rep(c(0,"A",0,"B",0,"C"),2)
> q1 <- c(0,100,0,89,0, 60,0,85,0,40,0, 20)
> df <- data.frame(id,visit,trt,q1)
> df
id visit trt q1
1 300 1 0 0
2 300 2 A 100
3 300 3 0 0
4 300 4 B 49
5 300 5 0 0
6 300 6 C 60
7 450 1 0 0
8 450 2 A 91
9 450 3 0 0
10 450 4 B 40
11 450 5 0 0
12 450 6 C 20
>
也許您可以在此處使用plyr
的round_any
函數,在這種情況下,該函數將舍入到最接近的20的倍數。
plyr::round_any(df$q1, 20)
#[1] 0 100 0 80 0 60 0 80 0 40 0 20
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.