从excel导入的数据框将“ <”视为NA

时间:2019-01-08 15:15:52

标签: r special-characters

我正在从Excel导入大量数值数据到R。数据是化学组成数字,例如,我经常具有“ <1”的值。每当我在数据帧中有“ <1”时,R就会以NA的形式读取/输出它。

这似乎是在读取excel文件时完成的,所以我尝试使用gsub将“ <”替换为“”的尝试无效,因为该数字从一开始就没有被视为数字。

我想提取此数据,使任何“ <1”只是“ 1”。但是就像我说的那样,它正在作为NA导入,我不知道该怎么办。

我对R还是很陌生,请忍受有限的能力来清楚地定义我的问题。

谢谢!

1 个答案:

答案 0 :(得分:4)

将列读为字符/文本

样本数据(./test.xlsx)

enter image description here

代码

df <- readxl::read_excel( "./test.xlsx", sheet = 1, col_types = c("text") )
df
# number
#   <chr> 
# 1 1     
# 2 2     
# 3 3     
# 4 <1    
# 5 3 

#post-processing
library( dplyr )
df %>% mutate( number = gsub("<", "", number ) %>% as.numeric )
# # A tibble: 5 x 1
#   number
#    <dbl>
# 1      1
# 2      2
# 3      3
# 4      1
# 5      3