楼主: cazylu
11789 9

[实际应用] R导入.sav文件时出错 [推广有奖]

  • 0关注
  • 0粉丝

小学生

42%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
1 点
信用等级
0 点
经验
2033 点
帖子
3
精华
0
在线时间
7 小时
注册时间
2013-6-15
最后登录
2022-12-20

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
我用R导入.sav文件时出错,提示为:f:/13.sav: position 0: Variable name begins with invalid character
文件里的变量名都是中文,以前的解决方法是把中文改成英文,但是本人机器上面没有安装spss软件,导致不能把.sav文件导出为.csv文件再用read.table来读取,求大神们解答.
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:sav Character Variable position invalid character position invalid 英文 中文

已有 1 人评分热心指数 收起 理由
耕耘使者 + 1 鼓励学术交流

总评分: 热心指数 + 1   查看全部评分

沙发
耕耘使者 发表于 2014-4-1 11:48:59 |只看作者 |坛友微信交流群
愚见,出错是正确的。R不能直接导入.sav文件。
应该用SPSS打开,然后复制成excel或文本文件,再读入R.

使用道具

藤椅
cazylu 发表于 2014-4-1 15:17:35 |只看作者 |坛友微信交流群
耕耘使者 发表于 2014-4-1 11:48
愚见,出错是正确的。R不能直接导入.sav文件。
应该用SPSS打开,然后复制成excel或文本文件,再读入R.
谢谢解答,但是本人机器里面没有spss这个软件,该如何在没有spss软件的情况下用R打开带有中文变量名的.sav文件呢?

使用道具

板凳
耕耘使者 发表于 2014-4-1 15:54:50 |只看作者 |坛友微信交流群
cazylu 发表于 2014-4-1 15:17
谢谢解答,但是本人机器里面没有spss这个软件,该如何在没有spss软件的情况下用R打开带有中文变量名的.sav文 ...
我真的不知道,R可以直接打开SPSS数据文件。

使用道具

报纸
qiangli 发表于 2014-4-1 16:59:27 |只看作者 |坛友微信交流群
中文命名变量是很麻烦的。估计没有什么好办法
但R是可以读取spss文件的
  1. > library(foreign)
  2. > data.spss1<-read.spss("car_sales.sav",to.data.frame=TRUE)
  3. > head(data.spss1)
  4.        manufact             model  sales resale       type price engine_s horsepow wheelbas
  5. 1 Acura         Integra           16.919 16.360 Automobile 21.50      1.8      140    101.2
  6. 2 Acura         TL                39.384 19.875 Automobile 28.40      3.2      225    108.1
  7. 3 Acura         CL                14.114 18.225 Automobile    NA      3.2      225    106.9
  8. 4 Acura         RL                 8.588 29.725 Automobile 42.00      3.5      210    114.6
  9. 5 Audi          A4                20.397 22.255 Automobile 23.99      1.8      150    102.6
  10. 6 Audi          A6                18.780 23.555 Automobile 33.95      2.8      200    108.7
  11.   width length curb_wgt fuel_cap mpg  lnsales     zresale      ztype      zprice   zengine_
  12. 1  67.3  172.4    2.639     13.2  28 2.828437 -0.14956062 -0.5926188 -0.41045828 -1.2070012
  13. 2  70.3  192.9    3.517     17.2  25 3.673360  0.15733558 -0.5926188  0.07032257  0.1331567
  14. 3  70.6  192.0    3.470     17.2  26 2.647167  0.01327335 -0.5926188          NA  0.1331567
  15. 4  71.4  196.6    3.850     18.0  22 2.150366  1.01734341 -0.5926188  1.01794859  0.4203334
  16. 5  68.2  178.0    2.998     16.4  27 3.015388  0.36513442 -0.5926188 -0.23695910 -1.2070012
  17. 6  76.1  192.0    3.561     18.5  22 2.932792  0.47863799 -0.5926188  0.45703760 -0.2497456
  18.     zhorsepo    zwheelba      zwidth    zlength   zcurb_wg    zfuel_ca       zmpg
  19. 1 -0.8103784 -0.82278892 -1.11533688 -1.1125568 -1.1721235 -1.22222719  0.9705266
  20. 2  0.6887312  0.08019843 -0.24624321  0.4136772  0.2204185 -0.19339977  0.2700372
  21. 3  0.6887312 -0.07684285 -0.15933384  0.3466718  0.1458746 -0.19339977  0.5035336
  22. 4  0.4241825  0.93083869  0.07242447  0.6891438  0.7485693  0.01236571 -0.4304523
  23. 5 -0.6340126 -0.63957410 -0.85460878 -0.6956344 -0.6027356 -0.39916525  0.7370301
  24. 6  0.2478166  0.15871907  1.43400456  0.3466718  0.2902042  0.14096914 -0.4304523
复制代码



使用道具

地板
gwnew 发表于 2015-2-26 11:10:39 |只看作者 |坛友微信交流群
加载foreign包,然后read.spss(“ 。。。.sav”)

使用道具

7
风雨统计 在职认证  发表于 2015-4-23 11:09:34 |只看作者 |坛友微信交流群
我也遇到这个问题了,楼主的问题跟我遇到的类似,问题出在spss文件的变量名命名规则与R中的不同,出现了R中非法字符,我的是spss数据的变量名中有$符号。
留个解决方法吧,方便以后遇到这个问题的童鞋查找。
foreign包和Hmisc包的读取sav文件的函数兼容性不太好,可以使用memisc包中的方法搞定:
install.packages("memisc")  # 安装memisc包
library(memisc)
data0 = as.data.set(spss.system.file("spss-file.sav"))
data = as.data.frame(data0)  # data即为所要的数据

by:活雷锋^_^

使用道具

8
免费使用 发表于 2015-5-17 22:58:50 |只看作者 |坛友微信交流群
风雨统计 发表于 2015-4-23 11:09
我也遇到这个问题了,楼主的问题跟我遇到的类似,问题出在spss文件的变量名命名规则与R中的不同,出现了R中 ...
非常好!
谢谢分享!!

使用道具

我用memisc包读取数据,然后head(data)发现数据都错位了

使用道具

10
macrob 发表于 2020-3-15 20:39:59 |只看作者 |坛友微信交流群
风雨统计 发表于 2015-4-23 11:09
我也遇到这个问题了,楼主的问题跟我遇到的类似,问题出在spss文件的变量名命名规则与R中的不同,出现了R中 ...
真心活雷锋呀!另外,我试过把sav手动改成后缀SPSS,似乎也能打开。不过出现了中文乱码~

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-11-5 18:42