私は日付の降順で並べられたデータフレームを持っています。dplyrを使用してNAを前または次の値とグループに置換してください
ps1 = data.frame(userID = c(21,21,21,22,22,22,23,23,23),
color = c(NA,'blue','red','blue',NA,NA,'red',NA,'gold'),
age = c('3yrs','2yrs',NA,NA,'3yrs',NA,NA,'4yrs',NA),
gender = c('F',NA,'M',NA,NA,'F','F',NA,'F')
)
私はNAは、以前の値 及びユーザIDの最初の行は、NAは、そのユーザIDグループの値の次のセットに置き換えた場合にユーザーID によってグループ化して値転嫁(交換)することを望みます。
私はこのようにdfを引き起こす必要がある私はdplyrと動物園のパッケージにこのようなものを使用しようとしています...しかし、そのは
cleanedFUG <- filteredUserGroup %>%
group_by(UserID) %>%
mutate(Age1 = na.locf(Age),
Color1 = na.locf(Color),
Gender1 = na.locf(Gender))
を働いていない:
全体に直接zoo::na.locf
を使用して
userID color age gender
1 21 blue 3yrs F
2 21 blue 2yrs F
3 21 red 2yrs M
4 22 blue 3yrs F
5 22 blue 3yrs F
6 22 blue 3yrs F
7 23 red 4yrs F
8 23 red 4yrs F
9 23 gold 4yrs F
これが役に立つかどうかを確認してください。 [NAsを最新の非NA値に置き換える](http://stackoverflow.com/questions/7735647/replacing-nas-with-latest-non-na-value)またはこれ[NA値をグループ値で置き換える](http :/stackoverflow.com/questions/23583739/replace-na-value-with-the-group-value) –
@Tarakこんにちは、答えの1つがあなたの問題を解決したら、それを「受け入れ」と印を付けることを躊躇しないでください他の人もそれを見ることができます...ありがとう – agenis