gpt4 book ai didi

r - 了解 R - is.na 和空白 ""单元格

转载 作者:行者123 更新时间:2023-12-01 16:46:36 26 4
gpt4 key购买 nike

我有一个数据集。在进行许多不同的文件操作之前,许多单元格都是“NA”

经过操纵之后,无论出于何种原因,它们都变得纯粹是空的。因此,需要明确的是,以前在 Excel 中不适用的相同单元格现在完全显示为空白。没什么大不了的,对吧?

好吧,当我将数据读入 R 时,我得到......

 [1] ""                  ""                  "6.4019975396e+17" 
[4] "" "" ""
[7] "" "" "6.40275087015e+17"
[10] "6.4062774821e+17" "" "6.40602341e+17"
[13] "" "" "6.40360673735e+17"
[16] "6.40326194081e+17" "6.40326465381e+17" "6.40322363352e+17"

对我来说仍然很好,除了当我运行时

is.na(data_frame$column_name)

我得到的都是假的。每一个。我是否误解了 is.na 的工作原理?

编辑 - 这有点模糊。当然,我误解了它是如何工作的。您能解释一下为什么空单元格不算作 NA 单元格吗?是否有一个快速修复可以应用于数据框以制作“”的任何内容,或者出于 R 的缘故,将 CSV 中的空白单元格转换为 NA?

最佳答案

Can you explain why an empty cell does not count as an NA cell?

我认为,简而言之,答案是R NA 和空的"" 是不同的。 为什么""是空白,而NA是真正缺失的东西——你不知道它是什么是的,它可以是任何东西。

要将空白替换为 NA,事后,对于单个列,您可以这样做

data$column[data$column == ""] <- NA

对数据框中的所有列执行此操作

data = lapply(data, function(x) {x[x == ""] <- NA})

正如评论中所指出的,解决问题的最佳时机是当您使用 na.strings 参数读取数据时 read.csvread.table.

read.csv(file_name, na.strings = c("", "NA"))

关于r - 了解 R - is.na 和空白 ""单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32556967/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com