我有几列,其中包含各种类型的数据。例如,我有一些double值,例如1.4、5.6等。并且我有低于极限检测的值,例如<0.01,<0.0004等。因此,在Import text Data中,这些列被检测为字符。我该如何处理?
有了这个解决方案,我希望对所有值进行统计,并考虑到以下极限检测值。
答案 0 :(得分:1)
我们可以使用tidyverse
进行此操作,先删除<
,然后再删除retype
列
library(tidyverse)
library(hablar)
dfN <- df1 %>%
mutate_if(is.character, list(~ str_remove(., "<")) %>%
retype
答案 1 :(得分:0)
这取决于您要如何处理数据。
<0.01
之类的值。您是否只是想将0.01
视为?如果是,则可以使用sub
删除<
符号:as.numeric(sub("<", "", mycol))
<0.01
,<0.1
<1
等。在R中,可以使用case_when函数:< / li>
答案 2 :(得分:0)
如果要提取数字,可以使用gsub("[^0-9.]+","",YourList)
。此版本应保留小数。
在发布之前,我已经用各种格式进行了测试,但是您可能想在进一步编写代码之前先查看一下结果。
> test <- c(1:4,"+65","<5","6>","46-6",6.5,"azer95.5")
> gsub("[^0-9.]+","",test)
[1] "1" "2" "3" "4" "65" "5" "6" "466" "6.5" "95.5"