微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何用模式替换缺失值

如何解决如何用模式替换缺失值

data <- c("SW","E","N","WNW","SSE","SE","S","WSW","SW","NNE","NNW","ENE",NA,"SSW","NW","ESE",NA)

我是 R 的新手。此属性中存在一些缺失值。我想用模式插补替换它们。我应该怎么办?感谢您的帮助!

解决方法

this answer 为基础:

data <- c("SW","E","N","WNW","SSE","SE","S","WSW","SW","NNE","NNW","ENE",NA,"SSW","NW","ESE",NA)


Mode <- function(x) {
  ux <- unique(x)
  ux[which.max(tabulate(match(x,ux)))]
}

data[is.na(data)] <- Mode(data)
data

 [1] "SW"  "E"   "N"   "WNW" "SSE" "SE"  "SE"  "SE"  "E"   "S"   "SE"  "E"   "S"   "WNW" "S"   "SE"  "WSW" "SW"  "NNE" "NNW" "N"   "ENE" "S"  
[24] "E"   "SSE" "E"   "E"   "S"   "SE"  "SSW" "E"   "E"   "WNW" "NW"  "ESE" "ESE" "NW"  "E"   "E" 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。