0

データセット: 2 つの二変量の等しくない観測値:

g_d g_a s_d s_a
2   27.75047815 2   27.75047815
2   27.75047815 2   27.75047815
3   27.75047815 2   27.75047815
3   27.75047815 2   27.75047815
3   27.75047815 2   27.75047815
5   27.75047815 2   27.75047815
6   27.75047815 2   27.75047815
8   27.75047815 2   27.75047815
9   27.75047815 2   27.75047815
10  27.75047815 2   27.75047815
3   17.19518769 2   27.75047815
3   13.21767851 2   27.75047815
4   13.21767851 3   27.75047815
4   13.21767851 3   27.75047815
5   13.21767851 3   27.75047815
6   13.21767851 3   27.75047815
6   13.21767851 3   27.75047815
6   13.21767851 3   27.75047815
7   13.21767851 3   27.75047815
8   13.21767851 3   27.75047815
9   13.21767851 3   27.75047815
9   13.21767851 3   27.75047815
11  13.21767851 3   27.75047815
11  13.21767851     
14  13.21767851     
14  13.21767851     
14  13.21767851     
15  13.21767851     
16  13.21767851     
17  13.21767851     
24  13.21767851     
2   30.90877312     
2   30.90877312     
2   30.90877312     
2   30.90877312     
2   30.90877312     
3   30.90877312     
3   30.90877312     
3   30.90877312     

次のコマンドを使用して、同じプロット ウィンドウに 2 つの極座標プロットを並べて作成しようとしています。

コード:

d = read.table("D:/POLAR_1.txt", sep="\t", header=T)
attach(d)
summary(d)
library(plotrix)
par(mfrow=c(1,2))

最初の極座標プロットの場合:

polar.plot(NA, NA, clockwise=TRUE, rp.type="", start=90,radial.lim=c(0, 35), 
radial.cex=0.3, box.radial=TRUE, show.grid.labels=1, boxed.radial=FALSE)

polar.plot(g_d, g_a, clockwise=TRUE, rp.type="s", start=90, point.symbols=19, 
show.grid.labels=3, par(cex=0.8), add=TRUE)

2 番目の極座標プロットの場合:

polar.plot(NA, NA, clockwise=TRUE, rp.type="", start=90,radial.lim=c(0, 35), 
radial.cex=0.3, box.radial=TRUE, show.grid.labels=1, boxed.radial=FALSE, add=TRUE)

polar.plot(s_d, s_a, clockwise=TRUE, rp.type="s", start=90, point.symbols=19, 
show.grid.labels=3, par(cex=0.8), add=TRUE)

結果: 最初のプロットは取得できますが、2 番目のプロットでは次のメッセージが表示されます。

エラーレポート:

Error in if (grid.pos[1] < radial.lim[1]) grid.pos <- grid.pos[-1] : 
  missing value where TRUE/FALSE needed

質問?

2 番目のデータセットには (観測が少ないため) 欠損値があるため、このエラーが発生しています。それで、このエラーにどう対処するか疑問に思っています。

4

1 に答える 1

1

たとえば、これを試してください:

ここに画像の説明を入力

library(plotrix)

par(mfrow=c(1,2))
polar.plot(NA, NA, clockwise=TRUE, rp.type="", start=90,radial.lim=c(0, 35), 
           radial.cex=0.3, box.radial=TRUE, show.grid.labels=1, boxed.radial=FALSE)
polar.plot(g_d, g_a, clockwise=TRUE, rp.type="s", start=90, point.symbols=19, 
           show.grid.labels=3, par(cex=0.8), add=TRUE)

## here remove add=TRUE      
polar.plot(NA, NA, clockwise=TRUE, rp.type="", start=90,radial.lim=c(0, 35), 
             radial.cex=0.3, box.radial=TRUE, show.grid.labels=1, boxed.radial=FALSE)
## use na.omit to remove missing values
polar.plot(na.omit(s_d), na.omit(s_a), clockwise=TRUE, rp.type="s", start=90, point.symbols=19, 
           show.grid.labels=3, par(cex=0.8), add=TRUE)
于 2013-06-22T02:47:30.357 に答える