首页 > 解决方案 > 使用 R 从 SPSS 文件创建多个响应集问题

问题描述

我是 R 新手。我目前正在使用 PHP 和 R 脚本创建交叉表。我正在使用 MRSET 函数来创建多个响应问题,但我没有得到标签和数据。它只显示从 PHP 代码传递的问题编号。我尝试了以下...

setwd('/files/are/inside/this/PATH/SPSS')

library(foreign)
library(expss)

expss_output_viewer()


mydata = read.spss("SPSS123456.sav", stringsAsFactors = FALSE,reencode=FALSE)


w <- data.frame(mydata)
args <- commandArgs(TRUE)



Ques<-as.character(args[1])   ## number of beds
Ban<-as.character(args[2])

Ques_Vec = strsplit(Ques, ',')[[1]]
Ban_Vec = strsplit(Ban, ',')[[1]]

temp1 <- w[c(Ques_Vec)]
temp2 <- w[c(Ban_Vec)]



Banner1 = w %>% 
tab_cells(mrset(as.category(temp1))) %>%
tab_cols(total(),mrset(as.category(temp2))) %>% 
tab_stat_cases(total_row_position = "none",label = "")
#tab_pivot(Banner1)

Banner2 = w %>%
  tab_cells(mrset(as.category(temp1))) %>%
  tab_cols(total(),mrset(as.category(temp2)))%>% 
  tab_stat_cpct(total_row_position = "below",label = "")%>%
tab_last_sig_cpct(sig_labels = paste0("<span style='color:red'>",LETTERS, "</b>"))
tab_pivot(Banner2)

谁能告诉我哪里出错了。我对 CSV 文件进行了同样的尝试,效果很好。除了这些多选问题外,单选问题效果很好。

例如,这是我得到的结果......

         Total cases   Q13_1    Q13_2    Q13_3


Total         0           0        0        0
             0%           0%       0%      0%

Q12_1        0            0        0        0
             0%          0%        0%      0%

Q12_2        0           0         0        0
             0%          0%        0%       0%


Q12_3         0          0           0       0
              0%          0%         0%      0%  


标签: rdatatablespsscrosstab

解决方案


推荐阅读