相关疑难解决方法(0)

在R中删除数据文件的空行

我有一个空行的数据集.我想删除它们:

myData<-myData[-which(apply(myData,1,function(x)all(is.na(x)))),]
Run Code Online (Sandbox Code Playgroud)

它运作正常.但是现在我想在我的数据中添加一个列并初始化第一个值:

myData$newCol[1] <- -999

Error in `$<-.data.frame`(`*tmp*`, "newCol", value = -999) : 
  replacement has 1 rows, data has 0
Run Code Online (Sandbox Code Playgroud)

不幸的是它不起作用,我不明白为什么,我无法解决这个问题.当我使用以下方法一次删除一行时,它工作正常:

TgData = TgData[2:nrow(TgData),]
Run Code Online (Sandbox Code Playgroud)

或类似的东西.

当我只使用前13000行时,它也可以工作.

但它不适用于我的实际数据,有32.000行.

我做错了什么?这对我来说似乎毫无意义.

r

67
推荐指数
4
解决办法
13万
查看次数

如何删除NA值的"行"?

可能重复:
R - 在data.frame中删除具有NA的行

如何在其中一列中使用NA值快速删除数据框中的"行"?

所以

     x1  x2
[1,]  1 100
[2,]  2  NA
[3,]  3 300
[4,] NA 400
[5,]  5 500
Run Code Online (Sandbox Code Playgroud)

应该导致:

     x1  x2
[1,]  1 100
[3,]  3 300
[5,]  5 500
Run Code Online (Sandbox Code Playgroud)

r

47
推荐指数
1
解决办法
16万
查看次数

删除R矩阵中所有数据均为NA的行

可能重复:
删除R中数据文件的空行

如何从矩阵或数据框中删除行,其中行中的所有元素都是NA?

所以要从中得到:

     [,1] [,2] [,3]
[1,]    1    6   11
[2,]   NA   NA   NA
[3,]    3    8   13
[4,]    4   NA   NA
[5,]    5   10   NA
Run Code Online (Sandbox Code Playgroud)

对此:

     [,1] [,2] [,3]
[1,]    1    6   11
[2,]    3    8   13
[3,]    4   NA   NA
[4,]    5   10   NA
Run Code Online (Sandbox Code Playgroud)

因为na.omit的问题是它删除了任何 NAs的行,所以会给我这个:

     [,1] [,2] [,3]
[1,]    1    6   11
[2,]    3    8   13
Run Code Online (Sandbox Code Playgroud)

到目前为止我能做的最好的是使用apply()函数:

> x[apply(x, 1, function(y) !all(is.na(y))),]
     [,1] [,2] [,3]
[1,]    1    6   11
[2,]    3    8   13 …
Run Code Online (Sandbox Code Playgroud)

r

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

标签 统计

r ×3