用空格替换df [2:3,1:2]中的NA

时间:2014-03-27 20:38:10

标签: r

这似乎应该是直截了当的。我需要在带有空格的数据框中用第1列和第2列替换第2行和第3行。它们目前是NA,导致我尝试使用的包有问题。

有什么建议吗?

a <- c(1, NA, NA, 2, 3)
b <- c(5, NA, NA, 2, 6)
c <- c(4, 6, 7.6, 2, 1)
abc <- cbind(a,b,c)
abc

     a  b   c
[1,]  1  5 4.0
[2,] NA NA 6.0
[3,] NA NA 7.6
[4,]  2  2 2.0
[5,]  3  6 1.0

edit1:数据集中还有其他NA,数据集相当大。在这种情况下,替换所有NA是不合适的。我也无法将列更改为字符串。

edit2:解决了问题!我正在创建NA的任何空df并对其进行rbinding以创建前两列。在使用rbind之前,我使用了iShouldUseAName来替换NA。谢谢!

2 个答案:

答案 0 :(得分:3)

如果您只关心打印方面,可以

> print(abc, na.print = "")
     a b   c
[1,] 1 5 4.0
[2,]     6.0
[3,]     7.6
[4,] 2 2 2.0
[5,] 3 6 1.0

答案 1 :(得分:1)

这通常是最简单的。按矩阵索引:

abc[is.na(abc)] <- ""

应该注意,这会导致您将列转换为字符向量。

也许让我们知道包裹错误是什么,我们可以建议更合适的答案。