[英]How to generalize a value to other rows in r
我有很多行的數據框。
每行都有一個人的數據,一個人可以有1個或更多行。
有一列的填充不完全,因此對於一個人來說,即使知道該值,有時也為NA
。
我想將已知值推廣到所選人員的所有其他行,如果此人員沒有任何值,請輸入NA
。
樣品:
df = data.frame(person=c(1,1,1, 2,2,2, 3,3,3), val=c(7,7,7, NA,5,NA, NA,NA,NA))
預期產量:
df = data.frame(person=c(1,1,1, 2,2,2, 3,3,3), val=c(7,7,7, 5,5,5, NA,NA,NA))
我該如何實現?
PS:我喜歡dplyr,請隨時使用。
在基數R中,您可以使用ave
ave(df$val, df$person, FUN = function(x) mean(x, na.rm = TRUE))
#[1] 7 7 7 5 5 5 NaN NaN NaN
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.