亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將缺失值(Na)按組替換為最近的非NA值。

將缺失值(Na)按組替換為最近的非NA值。

慕沐林林 2019-07-10 16:53:24
將缺失值(Na)按組替換為最近的非NA值。我想用dplyr解決以下問題。較佳的窗口功能之一。我有一個數據框架,里面有房子和買價。以下是一個例子:houseID      year    price 1            1995    NA1            1996    1001            1997    NA1            1998    1201            1999    NA2            1995    NA2            1996    NA2            1997    NA2            1998    302            1999    NA3            1995    NA3            1996    443            1997    NA3            1998    NA3            1999    NA我想做一個這樣的數據框架:houseID      year    price 1            1995    NA1            1996    1001            1997    1001            1998    1201            1999    1202            1995    NA2            1996    NA2            1997    NA2            1998    302            1999    303            1995    NA3            1996    443            1997    443            1998    443            1999    44以下是一些格式正確的數據:# Number of housesN = 15# Data framedf = data.frame(houseID = rep(1:N,each=10), year=1995:2004, price =ifelse(runif(10*N)>0.15, NA,exp(rnorm(10*N))))有辦法嗎?
查看完整描述

3 回答

?
慕婉清6462132

TA貢獻1804條經驗 獲得超2個贊

tidyr::fill現在讓這件愚蠢的事情變得簡單起來:


library(dplyr)

library(tidyr)

# or library(tidyverse)


df %>% group_by(houseID) %>% fill(price)

# Source: local data frame [15 x 3]

# Groups: houseID [3]

#    houseID  year price

#      (int) (int) (int)

# 1        1  1995    NA

# 2        1  1996   100

# 3        1  1997   100

# 4        1  1998   120

# 5        1  1999   120

# 6        2  1995    NA

# 7        2  1996    NA

# 8        2  1997    NA

# 9        2  1998    30

# 10       2  1999    30

# 11       3  1995    NA

# 12       3  1996    44

# 13       3  1997    44

# 14       3  1998    44

# 15       3  1999    44


查看完整回答
反對 回復 2019-07-10
  • 3 回答
  • 0 關注
  • 777 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號