7

Rには次のデータフレームがあります。

>AcceptData
  Mean.Rank Sentence.Type
1       2.5       An+Sp+a
2       2.6      An+Nsp+a
3       2.1       An+Sp-a
4       3.1      An+Nsp-a
5       2.4       In+Sp+a
6       1.7      In+Nsp+a
7       3.1       In+Sp-a
8       3.0      In+Nsp-a

これをプロットしたいのですが、x軸にSentence.Type列があり、各セルの実際の名前がx軸の点になっています。y軸を0.5刻みで1から4に変更したい

これまでのところ、plot()でもhist()でも、これをプロットすることはできませんでした。主にdata.frameの文字列の性質が原因で、さまざまな種類のエラーが発生し続けます。

私はこれがほとんどの人にとって簡単なはずだと知っていますが、私はまだRを持っているような初心者であり、数時間後にはプロットを正しくすることができません。どんな助けでも大歓迎です。

編集:

私が得たエラーのいくつか:

> hist(AcceptData$Sentence.Type,AcceptData$Mean.Rank)
Error in hist.default(AcceptData$Sentence.Type, AcceptData$Mean.Rank) : 
  'x' must be numeric

または:(これはエラーにはなりませんが、私が望むグラフではありません。すべてのx値がx軸の左側に詰め込まれています)

  plot(AcceptData$Sentence.Type,AcceptData$Mean.Rank,lty=5,lwd=2,xlim=c(1,16),ylim=c(1,4),xla b="Sentence Type",ylab="Mean Ranking",main="Mean Acceptability Ranking per Sentence")
4

1 に答える 1

14

デフォルトのplot関数には、x軸に因子をプロットできるメソッドがありますが、これを使用するには、テキストデータをfactor:に変換する必要があります。

次に例を示します。

x <- letters[1:5]
y <- runif(5, 0, 5)

plot(factor(x), y)

ここに画像の説明を入力してください

そしてあなたのサンプルデータで:

AcceptData <- read.table(text="
Mean.Rank Sentence.Type
1       2.5       An+Sp+a
2       2.6      An+Nsp+a
3       2.1       An+Sp-a
4       3.1      An+Nsp-a
5       2.4       In+Sp+a
6       1.7      In+Nsp+a
7       3.1       In+Sp-a
8       3.0      In+Nsp-a", stringsAsFactors=FALSE)

plot(Mean.Rank~factor(Sentence.Type), AcceptData, las=2, 
     xlab="", main="Mean Acceptability Ranking per Sentence")

ここに画像の説明を入力してください

于 2012-10-22T10:25:57.050 に答える