相关疑难解决方法(0)

将 <NA> 替换为 NA

我有一个包含条目的数据框;看来这些值没有被视为 NA,因为 is.na 返回 FALSE。我想将这些值转换为 NA 但找不到方法。

replace r na

6
推荐指数
2
解决办法
2万
查看次数

NA 替换为空格

我使用了相同的方法将 NA 替换为空格或其他字符,但由于某种原因,这个方法不起作用。我想将数据框中的 NA 替换为空白(年份和年度列)。我究竟做错了什么?

shad.92 <- structure(list(year = c(1992, NA, NA, NA, NA), type = c("all age abundance index", 
"adjusted number of fish older than age 0 measured", "adjusted total number of fish measured", 
"percent YOY", "YOY abundance index"), September = c(755, 0, 
565, 100, 755), October = c(530, 0, 434, 100, 530), November = c(463, 
0, 338, 100, 463), December = c(266, 1, 136, 99.3, 264), Annual = c(2014, 
NA, NA, NA, 2012)), row.names = c(NA, -5L), class …
Run Code Online (Sandbox Code Playgroud)

replace r dataframe na

5
推荐指数
1
解决办法
438
查看次数

用NA inplace data.table替换"NA"(NA字符串)

我有这个虚拟数据集:

abc <- data.table(a = c("NA", "bc", "x"), b = c(1, 2, 3), c = c("n", "NA", "NA"))
Run Code Online (Sandbox Code Playgroud)

我试图用标准NA替换"NA"; 使用data.table到位.我试过了:

for(i in names(abc)) (abc[which(abc[[i]] == "NA"), i := NA])
for(i in names(abc)) (abc[which(abc[[i]] == "NA"), i := NA_character_])
for(i in names(abc)) (set(abc, which(abc[[i]] == "NA"), i, NA))
Run Code Online (Sandbox Code Playgroud)

但仍然有这个我得到:

abc$a 
"NA" "bc" "x"
Run Code Online (Sandbox Code Playgroud)

我错过了什么?

编辑:我在这个问题中尝试了@frank的答案type.convert().(谢谢坦率;不知道这种模糊但有用的功能)在文档中type.convert()提到:"这主要是read.table的辅助函数." 所以我想彻底测试一下.当您有一个填充"NA"(NA字符串)的完整列时,此功能会产生较小的副作用.在这种情况下type.convert(),将列转换为逻辑列.对于这种情况abc将是:

abc <- data.table(a = c("NA", "bc", "x"), b = c(1, 2, 3), c = c("n", "NA", …
Run Code Online (Sandbox Code Playgroud)

r data.table

0
推荐指数
1
解决办法
175
查看次数

标签 统计

r ×3

na ×2

replace ×2

data.table ×1

dataframe ×1