0

缺失数据在文本文件中表示为 9999.00 、 9999.0 和 9999.000 。如果我在以下内容中指定:

    Rcmdr->data->import->missing data indicator  as  9999,nothing will be assigned to NA.

   but when I assigned to 9999.0  then only the values of 9999.0 are assigned to NA.

是否有关于如何在 Rcmdr 中为 NA 分配不同值的任何想法。这是添加的代码:

      Dataset <- 
    read.table("C:/Users/BRSa12002_L4_d.txt", 
     header=TRUE, sep=",", na.strings="-9999.00", dec=".", strip.white=TRUE)
4

2 回答 2

1

Rcmdr 只是一个菜单-GUI,因此它可能使用标准输入功能。该read.table函数将值作为字符串处理。你给read.table函数一个名为 的参数na.strings。我严重怀疑它会评估输入以查看它在数字上是否相同。默认字符串为“NA”。我不是 Rcmdr 用户,但我的预测是您可以同时赋予该功能“9999”和“9999.0”并获得您想要的行为。真正的问题是您的输入数据流中有什么。你还没有解释这个问题。

获得答案的最佳方法是复制执行该菜单驱动命令时出现的 R 代码。然后,我们可以将适当的字符串添加到 R 代码中,以将您带到您想去的地方。Rcmdr 可能无法获得完整的答案。它真的被设计为一种入门方法,可以让您快速了解命令行 R。(我们中的大多数人从另一条路线开始,从一开始就从命令行开始使用 R,所以您可能需要帮助我们少量。)

于 2012-06-18T16:14:12.347 回答
1

?read.table我们得知参数 na.strings 需要一个向量。因此,您可以使用它来分配几个不同的值作为 NA。

Dataset <- read.table("C:/Users/BRSa12002_L4_d.txt", 
               header=TRUE, sep=",", 
               na.strings=c("-9999.00","-9999.0","-9999"), 
               dec=".", strip.white=TRUE)
于 2012-06-19T09:41:48.723 回答