如何使用 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"))
读取数据
我在 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"))