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

Rは、統計コンピューティング、バイオインフォマティクス、視覚化、および一般的なコンピューティングのための無料のオープンソースプログラミング言語およびソフトウェア環境です。必要な出力とともに、最小限の再現可能な例を提供してください。データには `dput()`を使用し、 `library()`呼び出しですべての非ベースパッケージを指定します。データやコードの画像を埋め込まないでください。代わりにインデントされたコードブロックを使用してください。統計関連の質問については、https://stats.stackexchange.comを使用してください。

7
ggplot2オブジェクトのプロット軸の範囲を抽出するにはどうすればよいですか?
ggplot2たとえばのオブジェクトがありますmyPlot。どうすればx軸とy軸の範囲を特定できますか? プロットを再スケールしたり、軸の範囲を変更したりできるため、データ値の範囲の単純な倍数ではないようです。 findFn(からsos)とGoogleは、軸の範囲を設定する方法を除いて、関連する結果を表示していないようです。
87 r  ggplot2 

13
巨大な(3.5 GB)csvファイルをトリミングしてRに読み込む
そのため、詳細が多く、行が不完全なデータファイル(セミコロンで区切られている)があります(AccessとSQLがチョークになります)。これは、40年間、セグメント、サブセグメント、およびサブサブセグメント(合計で約200の要素)に分割された郡レベルのデータセットです。要するに、それは巨大であり、私が単にそれを読もうとすると、それはメモリに収まらないでしょう。 だから私の質問はこれです、私はすべての郡が欲しいのですが、たった1年(そしてセグメントの最高レベル...最終的には約100,000行になります)を取得するための最良の方法は何でしょうかこのRへのロールアップ? 現在、私はPythonで無関係な年を切り取り、一度に1行ずつ読み取って操作することでファイルサイズの制限を回避しようとしていますが、Rのみのソリューション(CRANパッケージはOK)を好みます。Rで一度に1つずつファイルを読み込む同様の方法はありますか? どんなアイデアでも大歓迎です。 更新: 制約 私のマシンを使用する必要があるので、EC2インスタンスはありません 可能な限りRのみ。この場合、速度とリソースは問題ではありません...私のマシンが爆発しない限り... 以下に示すように、データには混合タイプが含まれていますが、後で操作する必要があります データ データは3.5GBで、約850万行17列です。 数千行(〜2k)の形式が正しくなく、17列ではなく1列しかありません これらはまったく重要ではなく、削除できます このファイルから必要なのは最大100,000行だけです(以下を参照) データ例: County; State; Year; Quarter; Segment; Sub-Segment; Sub-Sub-Segment; GDP; ... Ada County;NC;2009;4;FIRE;Financial;Banks;80.1; ... Ada County;NC;2010;1;FIRE;Financial;Banks;82.5; ... NC [Malformed row] [8.5 Mill rows] データがRに収まるように、いくつかの列を切り取り、利用可能な40年(2009-2010から1980-2020)から2つを選びたいと思います。 County; State; Year; Quarter; Segment; GDP; ... Ada County;NC;2009;4;FIRE;80.1; ... Ada County;NC;2010;1;FIRE;82.5; ... …
87 r  csv 

8
Rのデータに滑らかな曲線を合わせる方法は?
で滑らかな曲線を描画しようとしていRます。私は次の簡単なおもちゃのデータを持っています: > x [1] 1 2 3 4 5 6 7 8 9 10 > y [1] 2 4 6 8 7 12 14 16 18 20 もちろん、標準のコマンドでプロットすると、でこぼこでエッジの効いたように見えます。 > plot(x,y, type='l', lwd=2, col='red') 推定値を使用して3つのエッジが丸くなるように、曲線を滑らかにするにはどうすればよいですか?滑らかな曲線に合わせる方法はたくさんあることは知っていますが、このタイプの曲線に最適な方法と、それをどのように記述するかはわかりませんR。
87 r  plot  curve-fitting 

4
Rで「貼り付け」を使用して変数名を作成しますか?
下記参照: paste("perf.a", "1", sep="") # [1] "perf.a1" に値を割り当てたい場合はどうなりperf.a1ますか? 、などを試しましたがas.name、as.symbol役に立ちませんでした。 as.name(paste("perf.a", "1", sep="")) = 5 # Error in as.name(paste("perf.a", "1", sep = "")) = 5 : # target of assignment expands to non-language object as.symbol(paste("perf.a", "1", sep="")) = 5 # Error in as.symbol(paste("perf.a", "1", sep = "")) = 5 : # …
87 r 



5
名前付き文字ベクトルをdata.frameに変換します
xmlAttrsから次のような名前付き文字ベクトルが返されます。 testVect <- structure(c("11.2.0.3.0", "12.89", "12.71"), .Names = c("db_version", "elapsed_time", "cpu_time")) 次のようなデータフレームに変換したいと思います。 testDF <- data.frame("db_version"="11.2.0.3.0","elapsed_time"=12.89,"cpu_time"=12.71) head(testDF) db_version elapsed_time cpu_time 1 11.2.0.3.0 12.89 12.71

5
data.table列のテキスト文字列を分割します
CSVファイルからにデータを読み込みdata.table、1つの列のテキストをいくつかの新しい列に分割するスクリプトがあります。私は現在、lapplyandstrsplit関数を使用してこれを行っています。次に例を示します。 library("data.table") df = data.table(PREFIX = c("A_B","A_C","A_D","B_A","B_C","B_D"), VALUE = 1:6) dt = as.data.table(df) # split PREFIX into new columns dt$PX = as.character(lapply(strsplit(as.character(dt$PREFIX), split="_"), "[", 1)) dt$PY = as.character(lapply(strsplit(as.character(dt$PREFIX), split="_"), "[", 2)) dt # PREFIX VALUE PX PY # 1: A_B 1 A B # 2: A_C 2 A C # …
87 r  data.table 

8
ブレーク/終了スクリプト
私はいくつかのデータ分析を行い、数百行の長さのプログラムを持っています。 プログラムの非常に早い段階で、品質管理を行いたいのですが、十分なデータがない場合は、プログラムを終了してRコンソールに戻したいと思います。それ以外の場合は、残りのコードを実行します。 私が試したbreak、browserと、quitそれらのどれもがプログラムの残りの部分の実行を停止していない(とquit私は起こるしたいものではありませんだけでなく、完全にやめるR、として実行を停止します)。私の最後の手段はif-else、以下のようなステートメントを作成することです。 if(n < 500){} else{*insert rest of program here*} しかし、それは悪いコーディング慣行のようです。私は何かが足りないのですか?
87 r  exit  break 

7
グループで最初の行を選択します
このようなデータフレームから test <- data.frame('id'= rep(1:5,2), 'string'= LETTERS[1:10]) test <- test[order(test$id), ] rownames(test) <- 1:10 > test id string 1 1 A 2 1 F 3 2 B 4 2 G 5 3 C 6 3 H 7 4 D 8 4 I 9 5 E 10 5 J 各ID /文字列ペアの最初の行で新しいものを作成したいと思います。sqldfがその中のRコードを受け入れた場合、クエリは次のようになります。 …
87 r  dataframe  sqldf 

10
Rのサンキーダイアグラム?
Rのサンキーダイアグラムを使用してデータフローを視覚化しようとしています。 このブログ投稿は、サンキーダイアグラムを生成するRスクリプトにリンクしていることがわかりましたが、残念ながら、それはかなり生で、いくらか制限されています(サンプルコードとデータについては以下を参照してください)。 より開発された他のスクリプト、あるいはパッケージさえ知っている人はいますか?私の最終目標は、これらのSankey Diagramsの例のように、ダイアグラムコンポーネントの相対的なサイズによってデータフローとパーセンテージの両方を視覚化することです。 私はr-helpリストにやや似たような質問を投稿しましたが、2週間何の応答もなかった後、ここでstackoverflowで運試しをしています。 ありがとう、エリック PS。並列セットプロットを知っていますが、それは私が探しているものではありません。 # thanks to, https://tonybreyal.wordpress.com/2011/11/24/source_https-sourcing-an-r-script-from-github/ sourc.https <- function(url, ...) { # install and load the RCurl package if (match('RCurl', nomatch=0, installed.packages()[,1])==0) { install.packages(c("RCurl"), dependencies = TRUE) require(RCurl) } else require(RCurl) # parse and evaluate each .R script sapply(c(url, ...), function(u) { eval(parse(text = getURL(u, …



4
Rでループが遅いのはなぜですか?
ループが遅いので、R代わりにベクトル化された方法で物事を実行しようとする必要があることを私は知っています。 しかし、なぜ?ループが遅くてapply速いのはなぜですか?applyいくつかのサブ関数を呼び出します-それは速くはないようです。 更新:申し訳ありませんが、質問は不適切でした。ベクトル化とを混同していましたapply。私の質問は、 「なぜベクトル化が速いのですか?」
86 performance  r  apply 

3
列の共通値に基づいて、大きなデータフレームをデータフレームのリストに分割します
「ユーザー」のアクションを収集する10列のデータフレームがあり、列の1つにID(一意ではなく、ユーザーを識別する)が含まれています(列10)。データフレームの長さは約750000行です。単一のアクターのアクションを分離するために、「ユーザー」識別子を含む列で分割された個々のデータフレームを抽出しようとしています(データフレームのリストまたはベクトルを取得します)。 ID | Data1 | Data2 | ... | UserID 1 | aaa | bbb | ... | u_001 2 | aab | bb2 | ... | u_001 3 | aac | bb3 | ... | u_001 4 | aad | bb4 | ... | u_002 結果として list( ID | …

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