缺少的数据在文本文件中表示为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)
答案 0 :(得分:1)
Rcmdr只是一个菜单GUI,因此它可能使用标准输入函数。 read.table
函数将值作为字符串。您为read.table
函数提供了一个名为na.strings
的参数。我严重怀疑它会评估输入,看它是否在数值上相同。默认字符串为“NA”。我不是Rcmdr用户,但我的预测是你可以给“9999”和“9999.0”这个功能并获得你想要的行为。真正的问题是输入数据流中的内容。你还没有解释过这个问题。
获得答案的最佳方法是复制执行该菜单驱动命令时出现的R代码。然后,我们可以将适当的字符串添加到R代码中,以便您到达目的地。 Rcmdr可能无法获得完整的答案。它实际上是作为一种启动方法设计的,可以帮助您快速了解命令行R.(我们大多数人采用了另一条路径,并从一开始就从命令行开始使用R,因此您可能需要帮助我们位。)
答案 1 :(得分: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)