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

r-faqタグは、Rタグで定期的に発生する問題について議論する限られた数の質問をグループ化するために作成されます。R for SOの公式FAQではありませんが、一般的な問題に関する興味深い情報源として役立つはずです。

5
同じグラフでggplot2を使用して2つの変数を線としてプロットする
非常に新しい質問ですが、次のようなデータがあると言います。 test_data <- data.frame( var0 = 100 + c(0, cumsum(runif(49, -20, 20))), var1 = 150 + c(0, cumsum(runif(49, -10, 10))), date = seq(as.Date("2002-01-01"), by="1 month", length.out=100) ) を使用して、x軸に時系列var0とvar1同じグラフの両方をプロットするにはどうすればよいですか?色違いで作るとボーナスポイント、伝説を含めることができます!dateggplot2var0var1 これは非常にシンプルだと思いますが、そこに例を見つけることはできません。
305 r  ggplot2  graph  time-series  r-faq 

11
プロットを画像としてディスクに保存する方法は?
Rを使用して単純な線形回帰をプロットします。その画像をPNGまたはJPEGとして保存したいのですが、自動的に実行できますか?(コード経由) 2つの異なる質問があります。1つ目は、既にプロットをモニターで見ているので、そのまま保存したいです。2つ目は、まだプロットを生成していませんが、プロットコードを実行するときに直接ディスクに保存したいです。
304 r  plot  ggplot2  lattice  r-faq 

13
ggplot2棒グラフのバーの順序付け
最大の棒がy軸に最も近く、最短の棒が最も遠い棒グラフを作成しようとしています。これは私が持っているテーブルのようなものです Name Position 1 James Goalkeeper 2 Frank Goalkeeper 3 Jean Defense 4 Steve Defense 5 John Defense 6 Tim Striker だからポジションに応じてプレイヤー数を示す棒グラフを作ろうとしています p <- ggplot(theTable, aes(x = Position)) + geom_bar(binwidth = 1) しかし、グラフは最初にゴールキーパーバー、次にディフェンス、最後にストライカーバーを示しています。ディフェンスバーがy軸に最も近く、ゴールキーパーが1つ、最後にストライカーが1つになるように、グラフを並べ替えます。ありがとう
301 r  ggplot2  r-faq 

6
文字列として与えられた式を評価する
Rがそのeval()関数を使用して、たとえば文字列によって提供される計算を実行できるかどうか知りたいです。 これは一般的なケースです。 eval("5+5") しかし、10の代わりに私は得ます: [1] "5+5" 解決策はありますか?
283 r  eval  r-faq 

9
文字が文字列に含まれているかどうかをテストする
文字列が別の文字列のサブセットであるかどうかを確認しようとしています。例えば: chars <- "test" value <- "es" 「値」が文字列「chars」の一部として表示される場合は、TRUEを返します。次のシナリオでは、falseを返します。 chars <- "test" value <- "et"
279 r  regex  string  r-faq 


6
文字列/文字のベクトルを連結します
文字型のベクトルがある場合、値を文字列に連結するにはどうすればよいですか?ここにpaste()でそれを行う方法があります: sdata = c('a', 'b', 'c') paste(sdata[1], sdata[2], sdata[3], sep ='') 降伏"abc"。 しかしもちろん、それは私が事前にsdataの長さを知っている場合にのみ機能します。
273 r  string  r-faq 

12
Rでの小数位のフォーマット
画面に出力する(またはファイルに書き込む)ときに、小数点以下2桁のみとして表示したい1.128347132904321674821などの数値があります。どうやってそれを行うのですか? x <- 1.128347132904321674821 編集: の用法: options(digits=2) 可能な答えとして提案されています。これをスクリプト内で一度だけ使用するように指定する方法はありますか?スクリプトに追加しても何も変わらないようで、各数値をフォーマットするために何度も再入力する必要はありません(非常に大きなレポートを自動化しています)。 - 回答:丸め(x、桁数= 2)
264 r  formatting  rounding  r-faq 

11
長い形式からワイド形式にデータを再形成する方法
次のデータフレームの並べ替えに問題があります。 set.seed(45) dat1 <- data.frame( name = rep(c("firstName", "secondName"), each=4), numbers = rep(1:4, 2), value = rnorm(8) ) dat1 name numbers value 1 firstName 1 0.3407997 2 firstName 2 -0.7033403 3 firstName 3 -0.3795377 4 firstName 4 -0.7460474 5 secondName 1 -0.8981073 6 secondName 2 -0.3347941 7 secondName 3 -0.5013782 …
263 r  reshape  r-faq 

9
リスト内の複数のdata.framesを同時にマージする
マージしたい多くのdata.framesのリストがあります。ここでの問題は、行と列の数の点で各data.frameが異なるということですが、(私が呼ばれてきた彼らのすべての共有キーの変数"var1"と"var2"以下のコードで)。data.framesが列の点で同一である場合、私は単にrbindplyrのrbind.fillがその仕事をすることができますが、これらのデータの場合はそうではありません。 このmergeコマンドは2つのdata.framesでのみ機能するため、アイデアを求めてインターネットを利用しました。私はこれをここから入手しましたが、R 2.7.2で完全に機能しました。 merge.rec <- function(.list, ...){ if(length(.list)==1) return(.list[[1]]) Recall(c(list(merge(.list[[1]], .list[[2]], ...)), .list[-(1:2)]), ...) } そして、私はそのように関数を呼び出します: df <- merge.rec(my.list, by.x = c("var1", "var2"), by.y = c("var1", "var2"), all = T, suffixes=c("", "")) しかし、2.11と2.12を含む2.7.2以降のRバージョンでは、このコードは次のエラーで失敗します。 Error in match.names(clabs, names(xi)) : names do not match previous names (ちなみに、私は他の場所でこのエラーへの他の参照を見ますであり、解決策がありません)。 これを解決する方法はありますか?
259 r  list  merge  dataframe  r-faq 

26
実行中のスクリプトのパスを決定する
私はと呼ばれるスクリプト持っているfoo.R別のスクリプトが含まother.R同じディレクトリにあります、: #!/usr/bin/env Rscript message("Hello") source("other.R") しかし、私は現在の作業ディレクトリが何であっRてother.Rもそれを見つけたいです。 つまり、foo.R独自のパスを知る必要があります。どうやってやるの?
255 r  file  path  rscript  r-faq 

15
データフレーム文字列の列を複数の列に分割する
次の形式のデータを取得したい before = data.frame(attr = c(1,30,4,6), type=c('foo_and_bar','foo_and_bar_2')) attr type 1 1 foo_and_bar 2 30 foo_and_bar_2 3 4 foo_and_bar 4 6 foo_and_bar_2 そして、split()上から列 " type" を使用して、次のようなものを取得します。 attr type_1 type_2 1 1 foo bar 2 30 foo bar_2 3 4 foo bar 4 6 foo bar_2 何らかの形でapply機能するという信じられないほど複雑なことを思いつきましたが、それを誤解してしまいました。最善の方法になるには複雑すぎるように見えました。strsplit以下のように使用できますが、それをデータフレームの2列に戻す方法が不明です。 > strsplit(as.character(before$type),'_and_') [[1]] [1] "foo" …
245 r  string  dataframe  split  r-faq 


15
両側に2つのy軸があり、スケールが異なるggplot
カウントを示す棒グラフとレートを示す折れ線グラフをすべて1つのグラフにプロットする必要があります。両方を別々に行うことができますが、それらを一緒にすると、最初のレイヤー(つまりgeom_bar)のスケールが2番目のレイヤーと重なりますレイヤー(つまり、geom_line)。 の軸をgeom_line右に移動できますか?
231 r  ggplot2  r-faq 

9
回帰直線方程式とR ^ 2をグラフに追加
に回帰直線方程式とR ^ 2を追加する方法を知りたいggplotです。私のコードは: library(ggplot2) df <- data.frame(x = c(1:100)) df$y <- 2 + 3 * df$x + rnorm(100, sd = 40) p <- ggplot(data = df, aes(x = x, y = y)) + geom_smooth(method = "lm", se=FALSE, color="black", formula = y ~ x) + geom_point() p どんな助けも高く評価されます。

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