我在stata中有一个数据集,我想将它带到R,但是状态中有一些缺失值,它们用句点表示。我想通过加载外部包然后使用read.table()函数将数据输入到R中。如何将R中真正缺失的状态转换为NA?
答案 0 :(得分:1)
如果我理解正确,你首先加载外包装加载.dta文件,对吗?
library("foreign")
然后您将使用以下内容读入您的数据:
myRFile <- read.dta(file="someStataFile.dta")
您要求的方法是将Stata中缺少的运算符(通常用点.
表示)转换为R中的缺失运算符NA
,也正确吗?
这里要知道的一件事是,Stata处理缺失值并在幕后处理#34;以多种方式。 Stata中实际上有大约27个不同的缺失运算符,这些运算符通常无法区分用户。但是,您不需要知道它们的问题,因为read.dta()
自己处理它们。
要了解如何在将来自己解决这样的简单问题,您需要首先检查函数的帮助文件:
help(read.dta)
在这里,您可以看到该函数自动且正确地处理来自Stata的广泛缺失数据类型。
如果您想获得有关识别哪种类型的缺失运算符的信息,可以使用以下命令设置参数missing.type=TRUE
:
myRFile <- read.dta(file="someStataFile.dta", missing.type=TRUE)
然后,根据帮助文件,将发生以下情况:
如果missing.type为TRUE,则会创建一个单独的列表 变量名称作为加载的数据。对于字符串变量,列表值 一片空白。对于其他变量,观察值为NA 不缺少,缺少观察时0-26。这附上了 作为&#34;失踪&#34;返回值的属性。