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

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

1
Rcppでの名前付き数値ベクトルの並べ替え
関数で、数値を計算して名前を付け、ソートされた値を返したい NumericVector、Rcppでてます。(これを使用して)ベクトルをソートできますが、値の名前の順序は同じです。 library(Rcpp) x <- c(a = 1, b = 5, c = 3) cppFunction(' NumericVector foo(NumericVector x) { std::sort(x.begin(), x.end()); return(x); }') foo(x) ## a b c ## 1 3 5 私は関数がこれを返すことを望みます: ## a c b ## 1 3 5 出来ますか?どうすればこれを達成できますか?
8 r  rcpp 

3
整数の組み合わせを効率的に選択
0で満たされた5x5の行列があるとしましょう。 myMatrix <- matrix(rep(0, 25), ncol = 5) それでは、1から5までの整数のトリプレットを選びましょう。 triplet <- c(1,2,3) このトリプレットのすべての組み合わせについて、次の関数を使用して、マトリックスに1を追加します。 addCombinationsToMatrix <- function(.matrix, .triplet){ indexesToChange <- as.matrix(expand.grid(.triplet, .triplet)) .matrix[indexesToChange] <- .matrix[indexesToChange] + 1 .matrix } 関数を使用して、 myMatrix [,1] [,2] [,3] [,4] [,5] [1,] 0 0 0 0 0 [2,] 0 0 0 0 0 [3,] 0 0 …

8
最初の分割文字を使用して行を列に分割する
このようなデータフレームを持っている: data.frame(text = c("separate1: and: more","another 20: 42") どのように最初の:を使用して分離することができますか?予想される出力の例 data.frame(text1 = c("separate1","another 20"), text2 = c("and: more","42")
8 r 

1
Rで最小全域木を計算する方法
N個の頂点とタプルに格納されている頂点のエッジ間の距離のグラフが与えられT1 = (d11, d12, …, d1n) to Tn = (dn1, dn2, …, dnn)ます。頂点V1から始まるこのグラフの最小全域木を見つけます。また、この生成されたツリーを移動するために必要な総移動距離を印刷します。 Example: For N =5 T1 = (0, 4, 5, 7, 5) T2 = (4, 0, 6, 2, 5) T3 = (5, 6, 0, 2, 1) T4 = (7, 2, 2, 0, 5) T5 = (5, 5, 1, …

2
Rで関数呼び出しの行番号を取得する方法は?
デバッグのために、現在の関数が呼び出された場所の行番号(および関数名)を出力します。これをRで取得するにはどうすればよいですか? ソースファイル名を取得する解決策を見てきまし たが、行番号と関数名を取得する方法は?] 編集:私はこのデータtraceback()を何らかの形で取得する方法を見つけました、トレースバックはそれを印刷することができますが、それから情報をデコードする方法がわかりません: f <- function () { traceback(x = 3, max.lines = 1) } g <- function() { f() } x <- g() source("file.R") # file with this code # 5: g() at file.R#20 # 4: eval(ei, envir) # 3: eval(ei, envir) # 2: withVisible(eval(ei, envir)) # 1: …
8 r 

5
#で始まる単語を除いて数字を削除する正規表現
文字、数字、「#」記号を含むことができる文字列があります。 「#」で始まる単語以外の数字を削除したい 次に例を示します。 "table9 dolv5e #10n #dec10 #nov8e 23 hello" そして予想される出力は: "table dolve #10n #dec10 #nov8e hello" どうすればこれを正規表現、ストリンガー、またはgsubで実行できますか?
8 r  regex  gsub  stringr 

5
文字列データをデータフレームに変換
私はRを初めて使用するので、どんな提案でもいただければ幸いです。 これはデータです: coordinates <- "(-79.43591570873059, 43.68015339477487), (-79.43491506339724, 43.68036886994886), (-79.43394727223847, 43.680578504490335), (-79.43388162422195, 43.68058996121469), (-79.43281544978878, 43.680808044458765), (-79.4326971769691, 43.68079658822322)" 私はこれになりたいです: Latitude Longitude -79.43591570873059 43.68015339477487 -79.43491506339724 43.68036886994886 -79.43394727223847 43.680578504490335 -79.43388162422195 43.68058996121469 -79.43281544978878 43.680808044458765 -79.4326971769691 43.68079658822322
8 r  regex  string 

4
dplyrを使用して行とリストに簡単な計算をマッピングする
次のようなデータがあります。 $`2013 Jul` # A tibble: 3 x 12 AAPL AMD ADI ABBV A APD AA CF NVDA HOG WMT AMZN <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> 1 -0.00252 0.00385 0.000314 0.00148 0.000231 0.000655 -0.00107 -0.00137 0.000886 0.000806 0.000689 0.000615 2 1 5 2 …
8 r 

1
「ラージマトリックス」と通常の数値マトリックスの違いは何ですか?
比較的大きな行列が作成されると、Rstudioはその環境ウィンドウでそれを大きな行列としてマークします。 x <- matrix(rnorm(10000 * 5000), ncol=5000) # Large matrix (50000000 elements, 381.5 Mb) 予想されるmode()関数は、このオブジェクトに対して「数値」を返します。 mode(x) ## [1] "numeric" ただし、次のコマンドを実行した場合: mode(x) <- "numeric" Rstudioは「大きな行列」を通常の数値行列に変更します。 # x: num [1:10000, 1:5000] では、これらの2つのオブジェクトの違いは何ですか?この違いはRstudioにのみ存在しますか、それともこれら2つのオブジェクトはRでも異なりますか?
8 r  matrix  rstudio 


2
Rmarkdownのキャレットdoparallel:render()を使用すると詳細情報が欠落する
次の簡単なサンプルRmarkdownドキュメント(test.Rmd)があります。 --- title: "Test Knit Caret Paralell VerboseIter" output: html_document --- ```{r setup, include=FALSE} knitr::opts_chunk$set(echo = TRUE) require(caret) require(doParallel) ``` ## data ```{r data} set.seed(998) training <- twoClassSim() ``` ## model ```{r fitmodel} fitControl <- trainControl( method = "repeatedcv", number = 3, repeats = 2, verboseIter = T) ncores <- …
8 r  r-caret  doparallel 

2
Rの関数または演算がベクトル化されていることをどのようにして知ることができますか?
私はまだ学んでいRます。かどうかを確認するためにいくつかの自動化された方法があるR operationかfunctionですがvectorized?Rオブジェクトがであるかどうかを識別するにはvector、を使用できますis.vector(x)。これはTRUE、xがベクトルであるかどうかを返しますFalse。同様のものはありvectorizedますか? 例えば: x <- c(1,2,3) y <- c(3,4,5) x+y #[1] 4 6 8 +はベクトル化されているため、のadds個々の要素を持つベクトルの個々の要素は自動的xにy。それ以外の場合は、forループを使用して同様の出力を達成する必要があります。 for(i in seq_along(x)){ cat(sprintf("%i ", x[i]+y[i])) } #4 6 8 これまでのところ、この用語の限られた理解では、Vectorized要素の自動操作が必要でしたが、そうでなければ、ベクトルの個々の要素に対して1つずつ行う必要がありました。 あなたがどうかを確認するために使用することをお勧めします方法があるoperationかfunctionではRあるがvectorized? ありがとうございました。
8 r 

1
ggridgesのridgeplotに垂直方向のカラーグラデーションを追加するにはどうすればよいですか?
ggridgesのパッケージには、いずれかのソリッドカラーでridgeplotsを描くことができます: ggplot(iris, aes(x=Sepal.Width, y=Species))+ geom_density_ridges(alpha=0.33, scale=2, fill="#0570b0", colour=alpha(0.1))+ theme_classic() または水平方向の色のグラデーション: ggplot(iris, aes(x=Sepal.Width, y=Species, fill=..x..))+ geom_density_ridges_gradient(scale=2,colour=alpha(0.1))+ theme_classic()+ scale_fill_gradient(low="#0570b0", high="White") しかし、この例(D3.jsを使用して描画されたもの)のように、垂直方向の色のグラデーションを持つ同様のグラフを作成できるかどうかを知りたいです。Rで同様のものを実装する方法はありますか? 画像ソースONS:自殺や薬物中毒で死亡する可能性が最も高い中年世代
8 r  ggplot2  ggridges 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.