0

tabular コマンドを使用して R/Sweave でテーブルを作成しようとしています。行ラベルをデータ フレームの見出しにしたいconsca。(各列は質問で、各行は各質問に対する生徒の回答です。)私が使用しているコマンドは次のとおりです。

latex(tabular(Heading('Questions')*(paste(labels(consca)[[2]],collapse='+')) ~ (n=1) + (mn + 
          sdev),data=consca))

このエラーがスローされます:

Error in term2table(rows[[i]], cols[[j]], data, n) : 
Argument paste(labels(consca)[[2]], collapse = "+") is not length 298

貼り付け引数は機能します...

 paste(labels(consca)[[2]],collapse='+')
    [1] "Q02+Q03+Q06+Q17+Q19+Q25+Q31+Q33+Q36+Q39+Q45+Q50"

そして、私が望む出力を生成します:

latex(tabular(Heading('Questions')*(Q02+Q03+Q06+Q17+Q19+Q25+Q31+Q33+Q36+Q39+Q45+Q50) ~ (n=1) + 
                (mn + sdev),data=consca))

ただし、これを複数のスケールで実行したい (つまりconsca、他のオブジェクトに変更したいので、コピー/貼り付けの手順を省略したい)。

と をいじりましevalas.symbolが、役に立ちませんでした。おそらく、私はそれらを正しい方法で使用していません。

OK、最小限の再現可能な例が必要な場合は、次のようになります。

require(tables)
a <- rnorm(10)
b <- rnorm(10,2)
c <- rnorm(10,100)
x <- data.frame(a,b,c)
# This works:
tabular(a+b+c ~ (mean + sd), x)
# This fails:
tabular(paste(labels(x)[[2]],collapse='+') ~ (mean+sd),x)
# Even though:
paste(labels(x)[[2]],collapse='+')
[1] "a+b+c"
4

1 に答える 1