如何用众数替换缺失值
How to replace Missing Value with Mode
data <- c("SW", "E", "N", "WNW", "SSE", "SE", "SE", "SE", "E", "S", "SE", "E", "S",
"WNW", "S", "SE", "WSW","SW", "NNE","NNW","N", "ENE","S", NA ,"SSE","E",
"E", "S", "SE", "SSW","E", "E", "WNW","NW", "ESE","ESE","NW", "E", NA)
我是 R 的新手。此属性中有一些缺失值。我想用模式归因代替它们。我应该怎么办?感谢您的帮助!
基于this answer:
data <- c("SW", "E", "N", "WNW", "SSE", "SE", "SE", "SE", "E", "S", "SE", "E", "S",
"WNW", "S", "SE", "WSW","SW", "NNE","NNW","N", "ENE","S", NA ,"SSE","E",
"E", "S", "SE", "SSW","E", "E", "WNW","NW", "ESE","ESE","NW", "E", 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"
data <- c("SW", "E", "N", "WNW", "SSE", "SE", "SE", "SE", "E", "S", "SE", "E", "S",
"WNW", "S", "SE", "WSW","SW", "NNE","NNW","N", "ENE","S", NA ,"SSE","E",
"E", "S", "SE", "SSW","E", "E", "WNW","NW", "ESE","ESE","NW", "E", NA)
我是 R 的新手。此属性中有一些缺失值。我想用模式归因代替它们。我应该怎么办?感谢您的帮助!
基于this answer:
data <- c("SW", "E", "N", "WNW", "SSE", "SE", "SE", "SE", "E", "S", "SE", "E", "S",
"WNW", "S", "SE", "WSW","SW", "NNE","NNW","N", "ENE","S", NA ,"SSE","E",
"E", "S", "SE", "SSW","E", "E", "WNW","NW", "ESE","ESE","NW", "E", 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"