タグ付けされた質問 「r」

統計計算言語とソフトウェア環境。

2
Rを使用してポイントをグリッドに集約する
Rの空間集約に関して質問があります。私がやろうとしているのは、ポイントデータセットをグリッドに集約することです。しかし、この種の経験はほとんどないため、これをどのように行うかはわかりません。私はあなたの誰かがいくつかの有用なガイダンス/可能な解決策を持っていることを望んでいました。 私の有利な点は、アフリカの紛争イベントに関する地理参照データを含むデータセットです(www.acleddata.comを参照)。ポイントは緯度/経度座標でジオリファレンスされ、イベントタイプと時間に関するデータが含まれます。私がやりたいのは、これらのポイントを1x1度のグリッドに集約することです。 したがって、グリッドセル内でイベントが発生した場合、グリッドセルにはデータポイントの情報が含まれている必要があります。この最終結果は、データフレームまたはデータを統計分析用のパネルデータセットで使用することを目的としているため、csvファイルにエクスポートできるものでなければなりません。 これまでのところ、以下のコードを使用してデータとシェープファイルを読み込んでプロットしました。spパッケージのover関数を使用して集計する必要があると思いますが、方法はわかりません。あなたの一人が助けてくれることを願っています。 これまでに使用したコードは、対応する視覚的な結果とともにここにあります。 QGISでこれを行うための提案も歓迎します。
14 raster  r  point  aggregation 

2
Rのマップに棒グラフをプロットしますか?
私は、米国の州レベルの地図をプロットするのに使用plotrixしRています。floating.pie各状態に円グラフを配置する優れた機能があります。 plotrixパッケージ内に各状態の棒グラフを表示する同様の機能があるかどうか疑問に思っていますか?(ドキュメントを見て、棒グラフを扱う関数にはこのような可能性はないようですが、確認したかっただけです。)可能であればplotrixパッケージ内で作業することを好みますが、他のパッケージ。 例として、これに似たマップを作成することに興味があります(ただし、米国の場合)。 米国の地図の場合、各州に1つずつ、50の棒グラフがあります。 このマップは/programming/20465070/barplots-on-a-mapから取得しましたが、私のバージョンのRではggsubplotが動作しないようです(他の人が投稿で言っていることと同様) )。
14 r  statistics  chart 

4
RまたはPythonを使用して大きなラスターをポリラインに変換する最も速い方法は?
グローバルな水域(1ビット値0および1)の大きなラスターファイル(129600 x 64800ピクセル)があり、海と内陸の海岸線を抽出しようとしています。 ArcGISとQGISでラスターからポリラインに変換しようとしましたが、時間がかかります。 誰かがこのタスクのためのより良い/より速い方法(PythonまたはR)またはより良いツールを知っていますか? 更新 R:rasterToContourは高速で正確かもしれませんが、私のような非常に大きなデータセット(8,398,080,000ピクセル)がある場合、非常に大きなRAM(16GB以上)が必要か、Rにハードドライブとそれ以上の処理を強制します年齢もかかります。 Python / GDAL:gdal_poligonizeはポリラインの代わりにポリゴンを作成します 更新2 R rasterToContour:rasterToContourは、必要な結果を提供しません。下の例に示すように、ArcGIS(ラスターからポリゴン、フィーチャからライン)と比較すると、正確なピクセルアウトラインは抽出されません。 rasterToContourの結果 ArcGISの結果 更新3 Python / GDAL:テストデータセットでコマンドラインからgdal_polygonizeをArcGISに対して実行しましたが、結果は非常に明確でした。 gdal:49秒 ArcGIS:1.84秒
14 python  r  performance 

2
RのSpatialPointsDataFrameプロパティと演算子
R SpatialPointsDataFrameのspパッケージを使用してタイプのオブジェクトを作成しました。ただし、@, $, . and []演算子と、オブジェクトのさまざまなプロパティにアクセスするために演算子を使用するタイミングについて混乱しています。これが私のサンプルコードです。 library(sp) library(rgdal) #creating a SpatialPointsDataFrame with sample points in UTM x <- c(15.2, 15.3, 15.4, 15.5, 15.7) y <- c(50.4, 50.2, 50.3, 50.1, 50.4) v1 <- c(1.0, 2.0, 3.0, 4.0, 5.0) v2 <- c("a","b","b","c","a") attributes <- as.data.frame(cbind(v1,v2)) xy <- cbind(x,y) locationsDD <- SpatialPointsDataFrame(xy, attributes) …
14 r  syntax 

2
ggmapでデンマークの地図を作成する方法
次の2つのパッケージをインストールしました。 library(ggmap) library(maps) 世界地図を作成するためのコードをオンラインで見つけました(以下を参照)。国レベルでプロットをズームするにはどうすればよいですか?たとえば、デンマーク。 ggplot()+ borders("world", colour="gray50", fill="gray50")
13 r  ggplot2  ggmap 

2
QGIS 3.0のRスクリプト?
QGIS 3.0の処理オプションにはRスクリプトが含まれていないようです(SAGA、GRASS、GDALとともに利用可能なものとしてリストされていません)。これはこのバージョンのQGISの変更ですか、インストールに問題がありますか?
13 qgis  r  qgis-3 

2
補間せずに不規則なポイントデータからRASTERを作成する方法
不規則な間隔のポイントデータベースからラスターイメージを作成しようとしていました。データは次のようになります > head(s100_ras) x y z 1 267573.9 2633781 213.29545 2 262224.4 2633781 69.78261 3 263742.7 2633781 51.21951 4 259328.4 2633781 301.98413 5 264109.8 2633781 141.72414 6 255094.8 2633781 88.90244 作成したメッシュ内にこれらの「z」値が必要です # Create a fine mesh grid my_mesh=expand.grid(seq(min(s100_ras$Y),max(s100_ras$Y),l=100), seq(min(s100_ras$X),max(s100_ras$X),l=100)) また、データポイントの外側にあるメッシュポイントのz値を「NA」として割り当てる必要があります。メッシュ上のポイントは次のようになります。https : //drive.google.com/file/d/0B6GUNg-8d30vYzlwTkhvaHBFTnc/edit?usp=sharing when plot plot(my_mesh) points(s100_ras$Y, s100_ras$X, pch="*", col='blue') 問題は、これに基づいて構築する方法がわからないということです。メッシュグリッドとデータポイントは同じスケールではないため、次の手順は機能しません!! …
13 raster  r  vector-grid 

2
ポリゴンをクリップしてデータを保持しますか?
次の2つのポリゴンがあります。 library(sp); library(rgeos); library(maptools) coords1 <- matrix(c(-1.841960, -1.823464, -1.838623, -1.841960, 55.663696, 55.659178, 55.650841, 55.663696), ncol=2) coords2 <- matrix(c(-1.822606, -1.816790, -1.832712, -1.822606, 55.657887, 55.646806, 55.650679, 55.657887), ncol=2) p1 <- Polygon(coords1) p2 <- Polygon(coords2) p1 <- Polygons(list(p1), ID = "p1") p2 <- Polygons(list(p2), ID = "p2") myPolys <- SpatialPolygons(list(p1, p2)) spdf1 = …

2
Rのポイントの位置にあるラスターから値を抽出する方法は?
私の質問は、ポイントの位置にあるラスターから値を抽出することです。関数抽出を使用すると、これは非常に簡単です。関数は、ポイント内のすべての変数の値を持つデータフレームを提供します。そのデータフレームに各ポイントの座標が必要です。どうすればそれを実現できますか?Rに、ラスタから値を抽出するときに、ロケーションポイントの列も追加すると言うことはできますか。 これは私の手順です: presencias=read.table("c:/SDM_R/presencias/P_lentiscus_pres.csv",header=TRUE,sep=";") lista_variables <-list.files(path="Variables_modelizacion/solo_ascii",pattern='*.asc',full.names=TRUE) variables <- stack(lista_variables) variables_presencia<-extract(variables, presencias) 結果は次のようになります。 > bio1 bio12 bio18 bio2 bio4 > 90 875 165 95 4886 > 115 1085 158 83 4075 > 135 1153 153 67 3402 > 85 1026 137 99 5203 > 96 667 128 108 5823 > 98 531 …
13 raster  r 

3
Rのコロプレス:カスタムブレークとプロット
コロプレスマップのプロットに関して質問があります。カスタムブレークを使用してマップをプロットする場合の推奨事項を教えてください。そして、それを少し魅力的に見せてください。 私のスクリプトでは、plotおよびspplotコマンドを使用して一部のデータを視覚化しましたが、結果に完全には満足していません。理由は簡単にわかります。spplotを使用して、異なる値の色を繰り返すカラーランプを取得しますが、これは少し奇妙です。カスタムブレークでプロットを使用すると、たとえばゼロ値がマップ上で白になるように、値の間隔を改善できませんでした。凡例とマップの間の歪んだ比率は、おそらくRstudioの結果だと思います。 だから私は誰かがカスタムブレークを使用してRでコロプレスマップをプロットするためのより良い提案があるのだろうか? 編集20-02-2013 示唆されたように、コロプレスマップを作成するためにggplot2を使用しました。以下のコードを使用しました。2つの問題が発生しました。1つは、データを強化した後、シェープファイルのすべてのデータがデータフレームに転送されるわけではないことです。したがって、データをマージできるように「id」変数の名前を変更する必要があります。軽微な問題。 より大きな問題は、データフレーム内のデータが正しいという事実にもかかわらず、ggplotはデータが正しくないマップを表示することです。凡例に応じた色の値は、データ内の変数の値と一致しません。ここで何かを見落としていますか? # Plotting polygon shapefiles (try-out) # Load the packages require(rgdal) require(maptools) require(ggplot2) gpclibPermit() # required for the fortify method # Load the shapefile africa=readOGR("/home/GIS",layer="africaII") names(africa) # Load the data on conflict conflict<-read.csv("africa_conflict.csv", header=TRUE) names(conflict) # Merge the data together africadat<-merge(africa, conflict, by="ISO3") # Changing …
13 r  choropleth 

2
Rのバウンディングボックスに空間オブジェクトをクリップする
Rの空間オブジェクトが与えられた場合、すべての要素をクリップして境界ボックス内に配置するにはどうすればよいですか? 私がやりたいことが2つあります(理想的には両方を行う方法を知っていますが、どちらも私の現在の問題に対する許容可能な解決策です-ポリゴンシェープファイルを米国本土に制限します)。 境界ボックス内に完全にはない各要素をドロップします。 これbbox()<-は論理的な方法のようですが、そのような方法は存在しません。 無限小要素(ポリゴン、ラインなど)が境界で切り取られるように、真のクリップ操作を実行します。 sp::bbox割り当て方法を欠いているので、私が作ってみた唯一の方法は、使用するのだろうoverかgContains/ gCrossesSpatialPolygonsと連携して、新たなバウンディングボックスの座標を持つボックスを含むオブジェクト。次に、ポリゴンオブジェクトをクリップするとき、含まれているものとクロスされているものを把握し、それらのポリゴンの座標を変更して、ボックスを超えないようにする必要があります。または何かのようなgIntersection。しかし、確かに簡単な方法がありますか? バウンディングボックスには多くの問題があり、通常、関心領域を定義するポリゴンへの空間オーバーレイが望ましいことを知っていますが、多くの場合、バウンディングボックスはうまく機能し、よりシンプルです。
13 r  clip  extents 

2
OSMトランスポートネットワークに基づいてRでルート分析を実行していますか?
国勢調査のフローデータ、ジョブ密度分布、およびトランスポートネットワークに基づいて、通勤者が通勤中にたどる可能性のある経路を分析しています。 現時点では、分析にpgRoutingおよびQ​​GISのpgRoutingアドオン(ここで説明)を使用しています。 しかし、私は完全な複製であることを取るすべてのステップが欲しい(これに関する優れた記事を参照して、ここでは)、私は、コマンドラインからの私の分析を行い、将来の参考のためにスクリプトファイルを保存することを好むだろう。 R-geoパッケージは、無料で、軽量で、安定しているため、この要件を十分に満たします。小さなスクリプトファイルをダウンロードすると、私が行ったことをすべてやり直すことができるはずです(Rpubsでのこの無関係な例については、こちらを参照してください))。 これを行うために特定したRパッケージは次のとおりです。 2012年12月に公開されたgdistanceは有望に見えますが、osmトランスポートネットワークとの互換性の兆候はありません e1071はかなり抽象的で、おそらくやりたいことに対してやり過ぎだ spatstatパッケージのpairdist.lpp関数は有望に見えますが、ドキュメントはほとんどありません これらに飛び込む前に、同様のジレンマに直面したかもしれない人々に尋ねる価値があると考えました。 Rでルーティング解析を行うことは可能ですか、それともPostGISを適切に学習してpgRoutingですべて行うのが最善でしょうか?

2
proj4を使用して、R ggmapおよびggplot2パッケージでロビンソン図法を指定しますか?
このマップをロビンソン図法で投影したい: library(ggmap) world <- map_data("world") ggplot() + geom_path(data = world, aes(long, lat, group = group)) そして、投影を「ロビンソン」に変更したいと思います(前の質問への回答からのアドバイスに従ってください:ウィキペディアからの地球規模の気候地域マップはどの投影を使用していますか? このプロジェクションのデフォルトの実装を見つけるのに苦労しました。proj4ライブラリを使用するために次のことを考えました。 library(proj4) robinson <- project(cbind(world$long, world$lat), proj = "+proj=robin +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs") 私は以下を含む多くのアプローチを試みました: # using ggmap::get.map() get_map("world", projection = mapprojection(robinson)) # using ggplot2::coord_map coord_map(projection = robinson) # and sp::coordinates: library(sp) …

2
Rを使用したラスターのランダムサンプリング?
プロセスの出力がラスタになるように、ラスタをランダムにサンプリングする簡単な方法はありますか? r-sig-geo リストにある例を使用していsampleRandomますが、rasterパッケージ内の関数も試しました。これらのアプローチはどちらも出力を生成しますが、ラスターに変換する方法がわかりません。「SpatialPointsDataFrameラスター」のいくつかの組み合わせを検索した後、アプローチを見つけることができませんでした。 library(raster) # read in raster rasterSource <- 'landsat.TIF' r <- raster(rasterSource) # convert to spatial points data frame r.spgrd<-as(r,"SpatialPointsDataFrame") # elminate NA values r.spgrd = r.spgrd[!is.na(r.spgrd[[1]]),] # sample points selectedPoints = sample(1:length(r.spgrd[[1]]), 1000) r.sampled = r.spgrd[selectedPoints,] # try to make spgrd into a raster r.test <- raster(r.sampled) …
13 raster  r 

1
Rで指定されたラスターの範囲と境界のポリゴンを作成します
2つのポリゴンを作成します。 1つは、ラスターの長方形の範囲です。r <- raster("band5.tif") e <- extent(r) plot(e)私はこれを使用してラスターの範囲を取得できることを知っ ています: 以下に示すように、ラスターの境界のポリゴンを1つ作成するにはどうすればよいですか? これは私のラスターのようです:
13 raster  r  rgdal 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.