📜  将 DataFrame 写入 R 中的 SPSS .sav 文件(1)

📅  最后修改于: 2023-12-03 15:25:13.336000             🧑  作者: Mango

将 DataFrame 写入 R 中的 SPSS .sav 文件

R 中的 haven 包可以帮助你将 data.frame 对象写入为 SPSS 的 .sav 文件。这个过程包括了先将数据类型转换为 SPSS 认可的类型,然后将数据写入为 .sav 文件。下面的示例代码演示了如何使用 haven 包将 Dataframe 写入为 .sav 文件。

# 安装 haven 包
install.packages("haven")

# 载入 haven 包
library(haven)

# 创建一个 DataFrame
df <- data.frame(
  id = 1:5,
  name = c("John", "Jane", "Bob", "Mary", "Adam"),
  gender = c("male", "female", "male", "female", "male"),
  age = c(32, 25, 48, 19, 54),
  height = c(1.72, 1.65, 1.81, 1.58, 1.69),
  weight = c(70, 55, 85, 48, 75)
)

# 指定 SPSS 支持的类型
df$id <- as_factor(df$id)
df$name <- as_factor(df$name)
df$gender <- as_factor(df$gender)

# 将 DataFrame 写入为 .sav 文件
write_sav(df, "data.sav")

在上面的示例中,我们首先使用 as_factor() 函数将需要变换的变量(id、name、gender)转换为 SPSS 支持的 categorical 类型,这样在创建了 SPSS 数据文件之后,这些字段就可以正确地保存为单独的变量。注意,由于 SPSS 中字符串是被称为 categorical 的变量类型,所以我们把字符串转换为 factor 类型;这个类型在 R 里面被用于存储分类变量。

然后,我们使用 write_sav() 函数将转换后的 data.frame 对象写入到一个名为 data.sav 的文件中。在写入数据的同时,write_sav() 函数还会自动保存变量的标签,确保 SPSS 文件中的数据看起来与 R 中的数据具有相同的意义。