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

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

7
R関数でオプションの引数を指定する「正しい」方法
Rでオプションの引数を使用して関数を作成する「正しい」方法に興味があります。時間の経過とともに、ここで別のルートをとるいくつかのコードに遭遇し、適切な(公式の)位置を見つけることができませんでした。このトピックにおいて。 これまでは、次のようなオプションの引数を記述しています。 fooBar <- function(x,y=NULL){ if(!is.null(y)) x <- x+y return(x) } fooBar(3) # 3 fooBar(3,1.5) # 4.5 この関数は、指定された場合にのみ引数を返しますx。NULL2番目の引数にデフォルト値を使用し、その引数が偶然ではないNULL場合、関数は2つの数値を加算します。 あるいは、次のような関数を書くこともできます(2番目の引数は名前で指定する必要がありますが、代わりに、unlist(z)またはz <- sum(...)代わりに定義することもできます)。 fooBar <- function(x,...){ z <- list(...) if(!is.null(z$y)) x <- x+z$y return(x) } fooBar(3) # 3 fooBar(3,y=1.5) # 4.5 個人的に私は最初のバージョンを好む。しかし、私は両方で良い面と悪い面を見ることができます。最初のバージョンは少しエラーが発生しにくいですが、2番目のバージョンは任意の数のオプションを組み込むために使用できます。 Rでオプションの引数を指定する「正しい」方法はありますか?これまでのところ、私は最初のアプローチに落ち着きましたが、両方とも時々少し「ハッキー」に感じるかもしれません。
165 r  function 

8
data.frameをワイドフォーマットからロングフォーマットに変形
data.frame幅の広いテーブルから長いテーブルに変換するのに問題があります。現時点では、次のようになっています。 Code Country 1950 1951 1952 1953 1954 AFG Afghanistan 20,249 21,352 22,532 23,557 24,555 ALB Albania 8,097 8,986 10,058 11,123 12,246 これをdata.frameロングに変えていきたいdata.frameです。このようなもの: Code Country Year Value AFG Afghanistan 1950 20,249 AFG Afghanistan 1951 21,352 AFG Afghanistan 1952 22,532 AFG Afghanistan 1953 23,557 AFG Afghanistan 1954 24,555 ALB Albania 1950 …
164 r  dataframe  reshape  r-faq 

29
セッションが作成されていません:このバージョンのChromeDriverは、Seleniumを使用しているChromeDriver ChromeのChromeバージョン74エラーのみをサポートしています
rsDriver関数を使用してRSeleniumを実行しようとしていますが、実行する rD <- rsDriver() と、新しいバージョンのChromeが必要であるというメッセージが表示されます。 > rD <- rsDriver() checking Selenium Server versions: BEGIN: PREDOWNLOAD BEGIN: DOWNLOAD BEGIN: POSTDOWNLOAD checking chromedriver versions: BEGIN: PREDOWNLOAD BEGIN: DOWNLOAD BEGIN: POSTDOWNLOAD checking geckodriver versions: BEGIN: PREDOWNLOAD BEGIN: DOWNLOAD BEGIN: POSTDOWNLOAD checking phantomjs versions: BEGIN: PREDOWNLOAD BEGIN: DOWNLOAD BEGIN: POSTDOWNLOAD [1] "Connecting to remote …

7
データフレームのグループ内の行に番号を付ける
次のようなデータフレームの操作: set.seed(100) df <- data.frame(cat = c(rep("aaa", 5), rep("bbb", 5), rep("ccc", 5)), val = runif(15)) df <- df[order(df$cat, df$val), ] df cat val 1 aaa 0.05638315 2 aaa 0.25767250 3 aaa 0.30776611 4 aaa 0.46854928 5 aaa 0.55232243 6 bbb 0.17026205 7 bbb 0.37032054 8 bbb 0.48377074 9 bbb 0.54655860 …
163 r  dataframe  r-faq 

12
FUN内の重複インデックス名にアクセスする
lapply()関数でリストのインデックス名を取得する方法はありますか? n = names(mylist) lapply(mylist, function(list.elem) { cat("What is the name of this list element?\n" }) 前に、lapply()が返すリストのインデックス名を保持できるかどうかを尋ねましたが、カスタム関数内の各要素名を簡単にフェッチできる方法があるかどうかはまだわかりません。名前自体でlapplyを呼び出さないようにしたいのですが、関数のパラメーターで名前を取得します。
162 r  lapply  names  indices 

14
devtoolsパッケージのインストールに関する問題
devtoolsパッケージを使いたいのですが。次のコマンドを実行しました。 > install.packages("devtools", dependencies = TRUE) .... > library(devtools) Error in library(devtools) : there is no package called ‘devtools’ 何が悪いのですか? 編集:これはinstall.packages、セッションを再開した後にコマンドを再実行した結果です。 > install.packages("devtools", dependencies = TRUE) Installing package into ‘/home/evanaad/R/x86_64-pc-linux-gnu-library/3.0’ (as ‘lib’ is unspecified) --- Please select a CRAN mirror for use in this session --- Warning: dependencies ‘roxygen2’, ‘BiocInstaller’, …
162 r  package  devtools 

11
data.frame列をベクトルに変換しますか?
私は次のようなデータフレームを持っています: a1 = c(1, 2, 3, 4, 5) a2 = c(6, 7, 8, 9, 10) a3 = c(11, 12, 13, 14, 15) aframe = data.frame(a1, a2, a3) 次の列の1つをベクトルに変換しようとしましたが、機能しません。 avector <- as.vector(aframe['a2']) class(avector) [1] "data.frame" これが私が思いつくことができる唯一の解決策ですが、これを行うためのより良い方法がなければならないことを想定しています: class(aframe['a2']) [1] "data.frame" avector = c() for(atmp in aframe['a2']) { avector <- atmp } class(avector) …

11
大規模なRプログラムを編成する方法は?
複雑なRプロジェクトを実行すると、スクリプトがすぐに長く混乱します。 私のコードを常に操作できるようにするために採用できるいくつかのプラクティスは何ですか?私は次のようなことを考えています ソースファイル内の関数の配置 何かを別のソースファイルに分割するタイミング マスターファイルの内容 機能を組織単位として使用する(Rがグローバル状態へのアクセスを困難にするため、これが価値があるかどうか) インデント/改行の練習。 扱います({? )}のようなものを1行または2行に配置しますか? 基本的に、大きなRスクリプトを整理するための経験則は何ですか?

10
ワークスペースから特定のオブジェクトをいくつか削除するにはどうすればよいですか?
ワークスペースから一部のデータを削除したいと思います。[すべてクリア]ボタンをクリックすると、すべてのデータが削除されます。ただし、特定のデータのみを削除したいと思います。 たとえば、データセクションに次のデータフレームがあります。 data data_1 data_2 data_3 私は削除したいと思いますdata_1、data_2そしてdata_3、保持したままdata。 私は試しましdata_1 <- data_2 <- data_3 <- NULLたが、データは削除されます(私はそう思います)が、それをワークスペース領域に保持しているので、私がやりたいことは完全ではありません。
161 r 

13
2つのdata.framesを比較して、data.frame 2に存在しないdata.frame 1の行を見つけます。
次の2つのdata.framesがあります。 a1 <- data.frame(a = 1:5, b=letters[1:5]) a2 <- data.frame(a = 1:3, b=letters[1:3]) 行a1にa2にはない行を見つけたいのですが。 このタイプの操作のための組み込み関数はありますか? (ps:私はそれに対する解決策を書きました、誰かがすでにより巧妙に細工されたコードを既に作成しているかどうか私は単に興味があります) これが私の解決策です: a1 <- data.frame(a = 1:5, b=letters[1:5]) a2 <- data.frame(a = 1:3, b=letters[1:3]) rows.in.a1.that.are.not.in.a2 <- function(a1,a2) { a1.vec <- apply(a1, 1, paste, collapse = "") a2.vec <- apply(a2, 1, paste, collapse = "") a1.without.a2.rows …
161 r  merge  compare  rows  dataframe 

6
ifelse()がDateオブジェクトを数値オブジェクトに変換しないようにする方法
関数ifelse()を使用して日付ベクトルを操作しています。結果はクラスDateであると予想しましたが、numeric代わりにベクトルを取得することに驚いていました。次に例を示します。 dates <- as.Date(c('2011-01-01', '2011-01-02', '2011-01-03', '2011-01-04', '2011-01-05')) dates <- ifelse(dates == '2011-01-01', dates - 1, dates) str(dates) ベクトル全体で操作を実行するとDateオブジェクトが返されるため、これは特に驚くべきことです。 dates <- as.Date(c('2011-01-01', '2011-01-02', '2011-01-03', '2011-01-04','2011-01-05')) dates <- dates - 1 str(dates) Dateベクターを操作するために他の関数を使用する必要がありますか?もしそうなら、どのような機能ですか?そうでない場合ifelse、入力と同じタイプのベクトルを強制的に返すにはどうすればよいですか? のヘルプページifelseは、これがバグではなく機能であることを示していますが、私がまだ驚くべき動作であることが判明したものの説明を見つけるのに苦労しています。
161 r  datetime  if-statement 

8
論理ベクトルのTRUE値をカウントする方法
R TRUEで、論理ベクトルの値の数を数える最も効率的/慣用的な方法は何ですか?私は2つの方法を考えることができます: z <- sample(c(TRUE, FALSE), 1000, rep = TRUE) sum(z) # [1] 498 table(z)["TRUE"] # TRUE # 498 どっちがいい?さらに良いものはありますか?
160 r 

4
追加されていない特定の行インデックスで、データフレームに新しい行を追加しますか?
次のコードは、ベクターとデータフレームを組み合わせています。 newrow = c(1:4) existingDF = rbind(existingDF,newrow) ただし、このコードは常にデータフレームの最後に新しい行を挿入します。 データフレーム内の指定した位置に行を挿入するにはどうすればよいですか?たとえば、データフレームに20行あるとします。行10と11の間に新しい行を挿入するにはどうすればよいですか?
160 r  dataframe  insert 

4
2012年にPandasがRのdata.tableマージよりもPythonでマージされたのはなぜですか?
私は最近、Python のパンダライブラリに出会いました。このベンチマークによると、非常に高速なメモリ内マージを実行します。R(分析用に選択した私の言語)のdata.tableパッケージよりもさらに高速です。 なぜpandasこれよりずっと速いのですdata.tableか?PythonがRより優れているという固有の速度の利点が原因ですか、それとも私が気付いていないトレードオフがありますか?andにdata.table頼らずに内部結合と外部結合を実行する方法はありますか?merge(X, Y, all=FALSE)merge(X, Y, all=TRUE) 以下は、さまざまなパッケージのベンチマークに使用されるRコードとPythonコードです。
160 python  r  join  data.table  pandas 


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