如何使用which()仅从R中的数据框中选择数字

问题描述 投票:0回答:1

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

例如,一列可能具有值:12、20、40,缺少,64、32,无输入,45、10

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

我在哪个功能中仅选择数字而忽略文本时会发生什么变化?谢谢!

r dataframe which variable-types
1个回答
0
投票

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

x <- my_data_frame$Column.Title
bad <- is.na(as.numeric(x))
x[!bad]

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

如果“丢失”值的种类足够少,您可以使用read.csv(..., na.strings=c("NA","missing","no input"))读取数据

© www.soinside.com 2019 - 2024. All rights reserved.