【发布时间】:2016-01-06 16:31:00
【问题描述】:
我正在尝试将 .sav 文件读入 R,但收到以下警告:
library("memisc")
dataset <- data.frame(as.data.set(spss.system.file("dataset.sav")))
parseSysHeader(ptr) : 文件缺少 info_flt64 记录,使用默认值
谁能告诉我这个警告是什么意思以及如何解决它? 任何帮助将不胜感激。
谢谢
高宏
【问题讨论】:
我正在尝试将 .sav 文件读入 R,但收到以下警告:
library("memisc")
dataset <- data.frame(as.data.set(spss.system.file("dataset.sav")))
parseSysHeader(ptr) : 文件缺少 info_flt64 记录,使用默认值
谁能告诉我这个警告是什么意思以及如何解决它? 任何帮助将不胜感激。
谢谢
高宏
【问题讨论】:
您也可以使用'haven' package 来读取 SPSS 文件。在语法方面,这个包比外来包有更多的一致性。此外,生成的数据框将同时包含 'tbl_df' 和 'tbl' 类,因此如果加载 dplyr,打印将得到改善。
library(haven)
path = file.path("C:/", "Folder", "dataset.sav")
dataset = read_sav(path)
【讨论】:
dataset=read_sav(file.choose())
您可以使用库foreign 从.sav (SPSS) 格式导入数据。
library(foreign)
data <- read.spss("C:/PathToFile/dataset.sav", to.data.frame=TRUE)
【讨论】:
另一个选择可能是我的 R 包readspss。语法类似于foreign 包之一。导入的数据以带有属性的data.frame() 形式返回。该软件包是从头开始编写的,并且具有对所有 SPSS 文件(zsav、sav 和 por)的读写支持。它使用各种 SPSS 文件进行了测试,并支持读取(希望)所有 SPSS 功能(例如加密和/或压缩文件、长字符串和所有类型的缺失)。
library(readspss)
dataset <- read.sav("dataset.sav")
【讨论】: