I am trying to read SPSS file to create crosstabs using R expss and foreign package. I have previously tried this with CSV files and that worked as I wanted. The parameters are passed using PHP script. For single select questions (for SPSS) it works just fine, but for multiple select questions things aren't working perfectly. Can anyone help me out with the syntax for tabulating multiple select questions in 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)
}
This is the code I have created for my crosstab with significance. The desired output should be something like
                  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%
This is the example output for the following
