的Mac OS X:R中包括Stata的文件会导致错误

问题描述:

我运行使用的Mac OS X:R中包括Stata的文件会导致错误

  • OS X 10.9.5
  • R studio 0.98.1083在不同的Macbook工作在一个新的代码
  • R刚刚新安装(第一通过家庭酿造,现在的标准封装)

我试图打开一个stata文件,其中包含德国变音(特别字符)。在Windows下的Rstudio中打开它正常工作。

现在我尝试包括文件:

library(foreign) 
basis <- read.dta("myfile.dta", convert.factors =NA)[LL_basis] 
Error in factor(rval[[v]], levels = tt[[ll[v]]], labels = names(tt[[ll[v]]])) : 
    invalid 'labels'; length 2 should be 1 or 1 

另外,下面也没有

library(lattice) 
library(MASS) 
library(memisc) 
basis <- as.data.frame(as.data.set(Stata.file("myfile.dta"))) 
Error in as.data.set(Stata.file("myfile.dta")) : 
    error in evaluating the argument 'x' in selecting a method for function 'as.data.set': Error in nchar(varlabs) : invalid multibyte string 4 
+0

convert.factors采用布尔值,即“TRUE”或“FALSE”。不知道这是否是你的问题,但它是一个开始的地方。尝试:'基础 Michael 2014-10-29 18:24:42

+1

用自制软件构建的R版Mac已知是脆弱的。有关详细信息,请阅读R-admin指南。除非你比我们大多数人更有经验,否则你应该使用二进制R包。 – 2014-10-29 19:14:34

+0

我明白了。我只是这样做,因为网站上的下载链接对我来说已经破坏了:http://cran.r-project.org/bin/macosx/R-3.1.1-mavericks.pkg – FooBar 2014-10-29 19:18:03

下面的问题涉及:Error in nchar() when reading in stata file in R on Mac

错误显然是来自哪里也不Stata.fileread.dta。没有encoding=latin1选项。但是,在文件开头添加以下内容修复了问题:

Sys.setlocale('LC_ALL','C') 
+0

接受您自己的答案! – shadowtalker 2014-10-29 19:52:27

+0

也许有人想出了更好的答案。我不喜欢这样做,这需要为整个脚本设置语言环境,而不仅仅是为了读取下一个文件。 – FooBar 2014-10-29 19:58:29

+0

公平,尽管您始终可以保存旧的区域设置,然后再设置它。 – shadowtalker 2014-10-29 20:39:38