在不修改 R 的情况下替换 NA 值
Substitute NA values in place without modification in R
我有一个包含几个 NA
值的矩阵,我希望用空字符串替换它们。
m <- matrix(letters, ncol=8, nrow=3)
m[c(3, 8, 14, 17, 22)] <- NA
有没有办法在不修改变量 m
的情况下用 ""
替换 NA
值?例如,我想在不更改 m
.
的情况下执行以下操作
m[is.na(m)] <- ""
some_function(m)
所以可以有效地做到这一点,但在基础 R
:
na_to_empty_string(m) # returns new matrix without changing m
注意,我试图用空字符串而不是 NA
s 创建一个临时矩阵,而不是打印它(我们可以使用 print(m, na.string="")
)。像 na.omit()
这样的函数似乎省略整行,而不仅仅是单元格。
我们可以使用replace
不改变原来的对象'm'。
replace(m, is.na(m), '')
我有一个包含几个 NA
值的矩阵,我希望用空字符串替换它们。
m <- matrix(letters, ncol=8, nrow=3)
m[c(3, 8, 14, 17, 22)] <- NA
有没有办法在不修改变量 m
的情况下用 ""
替换 NA
值?例如,我想在不更改 m
.
m[is.na(m)] <- ""
some_function(m)
所以可以有效地做到这一点,但在基础 R
:
na_to_empty_string(m) # returns new matrix without changing m
注意,我试图用空字符串而不是 NA
s 创建一个临时矩阵,而不是打印它(我们可以使用 print(m, na.string="")
)。像 na.omit()
这样的函数似乎省略整行,而不仅仅是单元格。
我们可以使用replace
不改变原来的对象'm'。
replace(m, is.na(m), '')