R 将df[2:3,1:2]中的NA替换为空白

R 将df[2:3,1:2]中的NA替换为空白,r,R,这似乎应该是直截了当的。我需要将数据帧中的第2行和第3行替换为第1列和第2列,并使用空格。它们目前不适用,导致我尝试使用的软件包出现问题 有什么建议吗 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行和第3行替换为第1列和第2列,并使用空格。它们目前不适用,导致我尝试使用的软件包出现问题

有什么建议吗

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:数据集中还有其他NAs,而且数据集相当大。在这种情况下,更换所有NA不合适。我也不能将列更改为字符串


edit2:问题解决了!我正在创建NA的任何空df,并通过rbinding创建前两列。在执行rbind之前,我使用IshouldUserName替换NA。谢谢

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

> 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

如果你只关心印刷方面,你可以

> 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

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

abc[is.na(abc)] <- ""
应该注意的是,这将导致您将列转换为字符向量


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

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

abc[is.na(abc)] <- ""
应该注意的是,这将导致您将列转换为字符向量


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

它导致了什么问题?它是公共软件包吗?如果是,您能否共享导致问题的包和函数?它导致的问题是什么?它是公共包吗?如果是,您可以共享导致问题的包和函数吗?如果您希望用空字符串替换它们,很遗憾,如果不将列的类型更改为字符,则无法执行此操作。如果您希望用空字符串替换它们,不幸的是,如果不将列的类型更改为字符,则无法执行此操作。