簡體   English   中英

估算后,如何舍入到因子的最近水平

[英]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
>

也許您可以在此處使用plyrround_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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM