Я пытаюсь прочитать файл SPSS для создания кросс-таблиц, используя R expss и сторонний пакет. Я ранее пробовал это с файлами CSV, и это работало, как я хотел. Параметры передаются с использованием PHP-скрипта. Для вопросов с одним выбором (для SPSS) это работает просто отлично, но для вопросов с несколькими вариантами все не работает идеально. Может ли кто-нибудь помочь мне с синтаксисом табулирования вопросов с несколькими вариантами ответов в R?
setwd('file path goes here')
library(foreign)
library(expss)
expss_output_viewer()
all_sav <- list.files(pattern ='\\.sav$')
pass<-all_sav[with(file.info(all_sav), which.max(mtime))]
mydata = read.spss(pass, stringsAsFactors = FALSE,reencode=TRUE)
w <- data.frame(mydata)
args <- commandArgs(TRUE)
Ques<-as.character(args[1])
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)]
if(length(Ques_Vec)>1 & length(Ban_Vec)>1 )
{
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)
}
Это код, который я создал для моей кросс-таблицы со значением. Желаемый результат должен быть примерно таким:
Total Apple Mango Banana
A B C
Total Cases 120 40 50 30
Apple 40 30 20 30
45% 34% 23% 10%AB
Mango 12 12 12 12
10% 10% 10% 7%
Banana 18 19 20 21
0.7%A 12%AC 23% 0.7%
Это пример вывода для следующего