1

私はたくさんの座標を持っています:

> xh1
[1] 257283.7 258592.6 261811.6 262768.6 257283.7
> yh1
[1] 2639722 2640722 2640722 2639722 2639722
> xh2
[1] 257283.7 256523.3 263725.6 262768.6 257283.7
> yh2
[1] 2639722 2638722 2638722 2639722 2639722
... ...

「cbind」を使用して、ポリゴンに変換する座標を次のように準備します。

poly1<-cbind(xh1,yh1)
poly2<-cbind(xh2,yh2)
... ...

> poly1
          xh1     yh1
[1,] 257283.7 2639722
[2,] 258592.6 2640722
[3,] 261811.6 2640722
[4,] 262768.6 2639722
[5,] 257283.7 2639722
... ...

poly<- Polygon(poly1)
... ...

Rで「cbind」タスクを実行するためにループを使用することは可能ですか?? 以下のようなものは機能しないことを知っています。

poly<-lapply(1:100, function(i) cbind(paste0("xh",i), paste0("yh",i)))
4

1 に答える 1

2

get指定された名前の変数の値を取得するために使用します。したがって、上記のコードで、を に置き換えpaste0("xh",i)get(paste0("xh",i))同様に をに置き換えますyh。言い換えれば、試してみてください

poly<-lapply(1:100, function(i) cbind(get(paste0("xh",i)), get(paste0("yh",i))))

(列 1、2、...のマトリックスまたはデータ フレームの代わりに、個別の変数、、...xh1を使用している理由が不思議に思わずにはいられません)xh2xh

于 2013-08-03T06:07:53.747 に答える