清理 Dataframe:NA、Decimals、Strings、Mixtures,

Cleaning Up Dataframe: NA, Decimals, Strings, Mixtures,

我有一个 data.frame,我想用 R 来处理它。它完全搞砸了!我专注于 1 列,它应该包含数值。当然有一些 NA,还有字符串(例如 "none"、"no thanks"),除此之外还有数字答案,如“<1”和“1-2”。小数分隔符有时是“.”和 ”,”。

我该如何处理所有这些问题?我还不需要任何归责。是否有命令忽略 R 中这一列的所有非数字行?

更新

# convert all decimal separators
group <- lapply(group, function(x) sub(',', '.', x))
# transform any non-numeric into NA 
group <- lapply(group, as.numeric)
# remove all old and new NAs
group <- data.frame(group)  
group_final <- na.omit(group)

非常感谢:)

我们可以在read.csv/read.table中使用na.strings。它可以将值作为向量。例如,

 df1 <- read.csv('yourfile.csv', na.strings=c('none', 'no thanks'))

这不会处理 "<1""1-2" 等。不清楚 OP 希望如何处理这些。如果小数点分隔符需要改为单个,试试

df1[] <- lapply(df1, function(x) sub(',', '.', x))