如何使用 which() select 仅来自 R 中数据帧的数字

How to select only numbers from a dataframe in R using which()

我在 R 中有一个大型数据框,我正在尝试对某些列进行一些统计测试,但是制作 csv 文件的非程序员添加了一堆我需要忽略的文本注释。

例如,一列的值可能为:12,20,40,missing,64,32,no input,45,10

如何使用 which 语句仅 select 数字? 我惨遭失败尝试: my_data_frame$Column.Title[哪个(is.numeric(my_data_frame$Column.Title))]

我应该如何更改 which 函数以仅 select 数字并忽略文本?谢谢!

您可以使用内置的 as.numeric() 转换器来执行如下操作:

x <- my_data_frame$Column.Title
xn <- as.numeric(x)
which(!is.na(xn))

这不会区分由失败的强制转换创建的 NA 和预先存在的(数字)NA 值。

如果 "missing" 值的种类足够少,您可以使用 read.csv(..., na.strings=c("NA","missing","no input"))

读取数据