gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 23:30:12 26 4
gpt4 key购买 nike

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

myData<-myData[-which(apply(myData,1,function(x)all(is.na(x)))),]

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

myData$newCol[1] <- -999

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

不幸的是,它不起作用,我不太明白为什么,也无法解决这个问题。当我使用以下命令一次删除一行时,它起作用了:

TgData = TgData[2:nrow(TgData),]

或者类似的东西。

当我仅使用前 13.000 行时,它也有效。

但它不适用于我的实际数据(32.000 行)。

我做错了什么?我觉得这没什么意义。

最佳答案

我假设您想要删除全部为 NA 的行。然后,您可以执行以下操作:

data <- rbind(c(1,2,3), c(1, NA, 4), c(4,6,7), c(NA, NA, NA), c(4, 8, NA)) # sample data
data
[,1] [,2] [,3]
[1,] 1 2 3
[2,] 1 NA 4
[3,] 4 6 7
[4,] NA NA NA
[5,] 4 8 NA

data[rowSums(is.na(data)) != ncol(data),]
[,1] [,2] [,3]
[1,] 1 2 3
[2,] 1 NA 4
[3,] 4 6 7
[4,] 4 8 NA

如果您想删除至少有一个 NA 的行,只需更改条件即可:

data[rowSums(is.na(data)) == 0,]
[,1] [,2] [,3]
[1,] 1 2 3
[2,] 4 6 7

关于在 R 中删除数据文件的空行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6437164/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com