删除我的数据框中的非数值(*未知*)
Remove Non Numeric values (*Unknown*) in my data frame
我需要删除数据框中的非数字值。因为我只需要数值来做分位数、百分位数等,下面是我的数据。
dataL
[ reached getOption("max.print") -- omitted 12892 entries ]
648 Levels: *Unknown* .P 001 111110 111199 111219 111310 111331 111335 111336 111339 111419 ... N/A
如您所见,有 Unknown、.P 等字符值。我需要删除这些内容以进行百分位数、分位数等操作。
这就是我所做的。
dataL[dataL == "NA" | dataL == "N/A" |dataL == "*Unknown*" |dataL == ".P" |dataL == "NULL"] <- NA
dataS <- na.omit(dataV)
但是当我 运行 dataS 它仍然具有字符值 Unknown
dataS
678 Levels: *Unknown* 0111 0116 0119 0139 0173 0174 0175 0179 0181 0182 0211 0212 0252 0711 ... 9999
我们可以在 read.csv/read.table
中指定 na.strings
来避免这个问题
dataL <- read.csv("file.csv", stringsAsFactors = FALSE,
na.strings = c("NA", "N/A", "Unknown*", "NULL", ".P"))
当前方法的问题是这些是 factor
列,将那些 levels
替换为 NA
仍然显示未使用的 levels
。所以,我们需要 droplevels
删除未使用的 levels
dataS <- droplevels(na.omit(dataL))
我需要删除数据框中的非数字值。因为我只需要数值来做分位数、百分位数等,下面是我的数据。
dataL
[ reached getOption("max.print") -- omitted 12892 entries ]
648 Levels: *Unknown* .P 001 111110 111199 111219 111310 111331 111335 111336 111339 111419 ... N/A
如您所见,有 Unknown、.P 等字符值。我需要删除这些内容以进行百分位数、分位数等操作。 这就是我所做的。
dataL[dataL == "NA" | dataL == "N/A" |dataL == "*Unknown*" |dataL == ".P" |dataL == "NULL"] <- NA
dataS <- na.omit(dataV)
但是当我 运行 dataS 它仍然具有字符值 Unknown
dataS
678 Levels: *Unknown* 0111 0116 0119 0139 0173 0174 0175 0179 0181 0182 0211 0212 0252 0711 ... 9999
我们可以在 read.csv/read.table
na.strings
来避免这个问题
dataL <- read.csv("file.csv", stringsAsFactors = FALSE,
na.strings = c("NA", "N/A", "Unknown*", "NULL", ".P"))
当前方法的问题是这些是 factor
列,将那些 levels
替换为 NA
仍然显示未使用的 levels
。所以,我们需要 droplevels
删除未使用的 levels
dataS <- droplevels(na.omit(dataL))