1

作成した Excel テンプレートからQualtricsアンケートをプログラムする R スクリプトを作成しています。パッケージを介してExcelテンプレートxlsxから調査項目を取得し、少し手を加えて、.txt必要な形式のファイルを作成します。.txt問題は、結果のファイルですべてを選択し、コピーして空のファイルに貼り付けない限り、Qualtrics にアップロードできないこと.txtです。

これは Qualtrics自体に関する質問ではなく、質問を検討するためにこのプラットフォームについて何も知る必要はないと思います。私の問題はR出力ファイル形式にあると思います。読み続けていただければ、私の言いたいことがわかると思います。

次のコード ブロックのすべてが機能するはずです。

require(xlsx)
# import survey file; get from Dropbox link above
  survey <- read.xlsx("template.xlsx", "survey")
  survey <- subset(survey, !is.na(survey$questiontext)) # drop if blank
  choices <- read.xlsx("template.xlsx", "choices")
# create vector to hold results
  output <- "[[AdvancedFormat]]"
# loop through every question
  for (i in 1:nrow(survey)) {
    # insert start block if one exists
      bs <- ifelse(is.na(survey$blockname[i]), "", 
                   paste0("[[Block:", 
                          as.character(survey$blockname[i]), "]]"))
    # insert end block if one exists
      be <- ifelse(is.na(survey$endblock[i]), "", 
               as.character(survey$endblock[i]))
    # insert item ID if one exists
      qid <- ifelse(is.na(survey$questionid[i]), "", 
                    paste0("[[ID:", 
                           as.character(survey$questionid[i]), "]]"))
    # subset choice sheet to selected choice
      choices.sub <- subset(choices, choices$listname==survey$choicelist[i])
      responses <- ""
    # create vector of choices
      for (ch in 1:nrow(choices.sub)) {
        responses <- paste(responses, choices.sub$label[ch], sep="\r") 
      }
    # insert page break if one exists
      pb <- ifelse(is.na(survey$pagebreak[i]) | i==nrow(survey), "", 
                   as.character(survey$pagebreak[i]))
    # add to output vector
      output <- paste(output, 
                      bs,
                      survey$questiontype[i],
                      qid,
                      survey$questiontext[i],
                      survey$choicetype[i],
                      responses,
                      pb,
                      be,
                      sep="\r")
  }
# write to txt file
  cat(output, file = (con <- file("foo1.txt", "w", encoding = "UTF-8"))); close(con)

R からの結果のfoo1.txtファイルを次に示します。クアルトリクスはこのファイルを拒否します。このファイルからすべてを選択し、.txt(ST3 を使用して) 新しい空のファイルfoo2.txt にコピーすると、 Qualtricsは問題なく動作します。

これら 2 つのファイルの違いは何ですか? で何も変更していませんfoo2.txt。コピーして新しいファイルに貼り付けるだけです。

4

1 に答える 1

0

@CarlWitthoft は、彼のコメントで正しい方向を示してくれました。

これはほとんどの場合、行末ターミネータとしてと の間<CR>で競合します。<CR>-<LF>

トピックを検索したところ、このSO スレッドが見つかり、 に変更することに\rなりました\n。それはトリックをしました。

于 2014-06-23T18:48:06.180 に答える