将stata中的句点转换为r中的句号

问题描述:

我有一个stata中的数据集,我想将它带到R中,但状态中存在一些缺失值,并且它们使用句点表示。我想通过加载外部包,然后使用read.table()函数将数据导入到R中。如何将R中真正缺失的状态转换为NA?将stata中的句点转换为r中的句号

+1

'read.table'是base的一部分。如果这就是你正在使用的,看看'na.strings'参数。你的意思是'read.dta'? – A5C1D2H2I1M1N2O1R2T1 2014-09-27 01:36:20

如果我正确地理解了你,你首先加载一个.dta文件的Foreign-Package,对吗?

library("foreign") 

那么你会用你的数据读取:

myRFile <- read.dta(file="someStataFile.dta") 

您所要求的一种方式,从塔塔缺少操作,通常由点.表示,转换为丢失的运算符在R中,NA,也正确? 这里要知道的一点是,Stata以多种方式处理“幕后”的缺失值。实际上在Stata中实际存在大约27个不同的缺失操作员,这对用户来说通常是无法区分的。尽管你不需要知道他们的问题,因为read.dta()自己处理它们。 要了解如何在未来的自己解决一个简单的问题,这样,你总是需要首先检查的帮助文件的功能:

help(read.dta) 

这里你可以看到,该函数处理大量丢失数据Stata自动并正确输入类型。

如果你想有有关哪些丢失的运算符的类型被确认,则可以使用设置参数missing.type=TRUE,:

myRFile <- read.dta(file="someStataFile.dta", missing.type=TRUE) 

然后,根据帮助文件,则将发生以下情况:

如果missing.type为TRUE,则使用与加载的数据相同的 变量名创建单独的列表。对于字符串变量,列表值 为NULL。对于其他变量,值为NA,其中观测值为 不缺,当观测值缺失时为0-26。这附加 作为返回值的“缺失”属性。