web-dev-qa-db-ja.com

軸範囲Rの設定方法

軸範囲をrに設定できません。私のデータのx軸の値は2から9しかありませんが、1から10にしたいのですが、簡単なヒントを教えてください。

head(SS)
  Phase Bed Site ACC X.M.SA
1     1   1    1  NG     NO
2     1   1    2  NG     NO
3     1   1    3  SG     NO
4     1   1    4  SG     NO
5     1   1    5  SG     NO
6     1   2    1  SG     NO

XMSA<-factor(SS$X.M.SA)
ACC<-factor(SS$ACC,ordered = TRUE,levels=c("NG","SG","LG","MG","HG"))

boxplot(ACC[XMSA=="MSSA"]~SS$Bed[XMSA=="MSSA"],
xlab="Bed",ylab="Growth",
las=1, yaxt="n",ylim=c(1,5),xlim=c(1,10))
axis(2, at=c(1,2,3,4,5),labels=c("NG","SG","LG","MG","HG"),las=1)

enter image description here

6
HCAI

データなしで、私はあなたのプロットエラーを再現しようとしました:

plot(x=as.factor(2:8),y=2:8,xlim = c(1,10)

これは次のプロットを与えます:

enter image description here

プロットを次のように変更します。

boxplot(x= as.numeric(as.character(SS$Bed[XMSA=="MSSA"])),
y= ACC[XMSA=="MSSA"]
xlab="Bed",ylab="Growth",
las=1, yaxt="n",ylim=c(1,5),xlim=c(1,10))
axis(2, at=c(1,2,3,4,5),labels=c("NG","SG","LG","MG","HG"),las=1)

あなたの問題を解決するかもしれません。

編集する

数式は因数に変化し、1からアイテムの数に順序付けられるようですので、y軸であなたのトリックを使用してこれを解決します。

boxplot(ACC[XMSA=="MSSA"]~SS$Bed[XMSA=="MSSA"],
xlab="Bed",ylab="Growth",
las=1, yaxt="n",ylim=c(1,5),xlim=c(0,9),xaxt="n")
axis(2, at=1:5,labels=c("NG","SG","LG","MG","HG"),las=1)
axis(1, at=0:9,labels=1:10,las=1)
6
DeveauP