1

注: タイトルは誤解を招く可能性があります。私の問題を理解し、より説明的なものを考えている場合は、変更してください。

調査の回答がすべて数値ではなく文字であるという奇妙な状況があります。Rさんは、どうもこれが気に入らないらしい。私が質問したとしましょう:

Q. In what area do you work? 
East
West
Central
North
South
None of the above

しかし、回答者は東、西、中央からのみでした。

dat <- rep(c("East", "West", "Central"),100)

ここで、プレゼンテーションの目的で、North、South、None of the 上記を含めることが重要です。ただし、これらの要素を考慮に入れることは困難です。

やってみよう:

fac1 <- factor(dat, labels=c("East","West","Central","North","South","None of the above"))

Error in factor(dat, labels = c("East", "West", "Central", "North", "South",  : 
  invalid labels; length 6 should be 1 or 3

基本的に、私がやりたいことは、このデータを欠損値で因数分解することです。したがって、summary(fac1) のようなものを入力すると、そのカテゴリに 0 件の回答があることが示されます。

これを行うには、もっと簡単な方法が必要です。

4

2 に答える 2

3

もうすぐです。levels引数を使用する必要があります:

fac1 <- factor(dat, levels=c("East","West","Central","North","South","None of the above"))
str(fac1)
 Factor w/ 6 levels "East","West",..: 1 2 3 1 2 3 1 2 3 1 ...

levelsとの違いlabelsは次のとおりです。

  • levelsデータの因子レベルを定義します
  • labels一度に因子レベルの名前を変更できます。

例えば:

fac2 <- factor(
  dat, 
  levels=c("East","West","Central","North","South","None of the above"),
  labels=c("E", "W", "C", "N", "S", "Other")
)
str(fac2)
Factor w/ 6 levels "E","W","C","N",..: 1 2 3 1 2 3 1 2 3 1 ...
于 2012-06-08T16:35:28.740 に答える
2

専門家ではありませんが、これは役に立ちますか?

fac1 <- factor(dat, levels = 
               c("East","West","Central","North","South","None of the above"))
summary(fac1)
于 2012-06-08T16:43:21.733 に答える