gpt4 book ai didi

r - 在数据框或向量中查找非数字数据

转载 作者:行者123 更新时间:2023-12-03 13:27:55 25 4
gpt4 key购买 nike

我用 read.csv() 阅读了一些冗长的数据,令我惊讶的是,数据以因子而不是数字的形式出现,所以我猜数据中必须至少有一个非数字项。我怎样才能找到这些元素的位置?
例如,如果我有以下数据框:

df <- data.frame(c(1,2,3,4,"five",6,7,8,"nine",10))
我想知道第 5 行和第 9 行有非数字数据。我该怎么做?

最佳答案

df <- data.frame(c(1,2,3,4,"five",6,7,8,"nine",10))

诀窍是知道通过 as.numeric(as.character(.)) 转换为数字将非数字转换为 NA .
which(is.na(as.numeric(as.character(df[[1]]))))
## 5 9

(仅使用 as.numeric(df[[1]]) 不起作用 - 它只会降低离开数字代码的级别)。

您可以选择抑制警告:
which.nonnum <- function(x) {
which(is.na(suppressWarnings(as.numeric(as.character(x)))))
}
which.nonnum(df[[1]])

为了更加小心,您还应该在转换前检查这些值是否不是 NA:
which.nonnum <- function(x) {
badNum <- is.na(suppressWarnings(as.numeric(as.character(x))))
which(badNum & !is.na(x))
}

关于r - 在数据框或向量中查找非数字数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21196106/

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