r - 从文件中读取空值

标签 r

我需要从包含NULL值的文件中读取数据帧。这是一个示例文件:

charCol floatCol intCol
a       1.5      10
b       NULL     3
c       3.9      NULL
d       -3.4     4

I read this file into a data frame:

> df <- read.table('example.dat', header=TRUE)

但是R不会将“NULL”条目解释为NULL:
> is.null(df$floatCol[2])
[1] FALSE

我应该如何格式化我的输入文件,以使R正确地将此类条目视为NULL?

最佳答案

如果发生意外,请始终执行摘要。

> summary(df)
 charCol floatCol  intCol 
 a:1     1.5 :1   10  :1  
 b:1     -3.4:1   3   :1  
 c:1     3.9 :1   4   :1  
 d:1     NULL:1   NULL:1  

看起来有点奇怪。向下钻取:
> summary(df$floatCol)
 1.5 -3.4  3.9 NULL 
   1    1    1    1 

这到底是什么?
> class(df$floatCol)
[1] "factor"

无效的数字格式(字符串'NULL')的存在已导致R转到“哦,我猜这些不是数字,我会将它们读入字符串并为您提供一个因子(分类变量)”。

该解决方案刚刚发布,使用了na.string =“NULL”,但请记住,NA与R中的NULL不同。NA是丢失数据的标记,NULL是真正的非值。比较:
> c(1,2,3,NULL,4)
[1] 1 2 3 4
> c(1,2,3,NA,4)
[1]  1  2  3 NA  4

正确阅读后,通常应使用is.na(foo)进行适当的测试。

关于r - 从文件中读取空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4032660/

相关文章:

r - 使用 R 中的模糊/近似字符串匹配合并两个数据框

r - 使用 t.test 时出错 - 'x' 观察值不够

html - rvest:如何查找 HTML 页面中使用的所有类?

java - 如何在 Jupyter Notebook 内的 conda 环境中使用特定的 Java 版本

r - dplyr group_by 列名向量?

c - Kolmogorov-Smirnov 测试 : C to R translation issue

r - 聚合最大值和因子

r - 使用 confusionMatrix 计算 Precision、Recall 和 F-Score

r - 设置网格中轴标签的格式

r - 在 igraph 中绘制适合度分布的幂律