将stata文件另存为R文件

时间:2012-12-30 22:09:40

标签: r save stata

我正在尝试使用“保存命令”将stata文件保存为R文件,但反复出现错误:

>library(foreign)
# read stata file (there is a stata file "data.dta" in working directory)
>read.dta("data.dta")
  var1       var2     var3       var4       var5
1 -4.239497  0.2406101 3.786384 -1.3025404  0.3428481
2 -3.311914  1.9533381 3.200867 -2.4428566  0.9154460
3 -2.156078  1.6590545 4.317356 -3.1660178  1.6963958
4  2.648022 -1.4091060 3.227258 -0.9857693  1.4566656
>getwd()
"C:/Users/Vista/Documents" 
>save(data.dta, file = "data.rda")
Error in save(data.dta, file = "data.rda") : object 'data.dta' not found

这方面的建议将受到高度赞赏。

1 个答案:

答案 0 :(得分:3)

您需要先将数据分配给R对象,否则读入的数据只会打印到您的控制台,但在您的工作区中不可用:

 data.dta <- read.dta("data.dta")
 save(data.dta, file = "data.rda")

如果要检查工作区中可用的对象,可以键入ls()

旁注:您可能需要考虑通过

.Rds格式保存对象
saveRDS(data.dta, file = "data.Rds")

而不是使用save并以.rda格式保存。当您通过load("data.rda")加载数据时,该对象仍将具有(可能令人困惑的)名称data.dta。将其保存为.Rds时,您可以在加载/读取时将其重命名,例如

anyname <- readRDS("data.Rds")