問題タブ [sapply]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
493 参照

r - 並べ替えとネストされた貼り付けを含む apply-strsplit-rowwise

私はそれを見ていないだけだと思いますが、ネット、メーリングリストのアーカイブ、または FAQ で見つけた同様のものはすべて、私の問題を実際に解明することができませんでした.

私が見つけた最も近いものはこれでした: strsplitを行ごとに適用します

2 つの文字列と 1 つの数値列を持つ df があります。次のように入力します。

ここで、これで一意の行を見つけたいと思いますが、2 つの名前列のみに基づいています。そして、それらの列の場合、列の順序は重要ではないためduplicated、正しく理解していれば使用できません。

そこで、2 つの名前列を行ごとに組み合わせ、行ごとに並べ替え、pasteベクトルの a を出力することを考えました (長さ = 2 のようなものと組み合わせてsapply)。

しかし、私はそれを働かせませんでした。

これまで for ループを使用してきましたが、元のデータに時間がかかります。

どんな提案でも大歓迎です。多分私は間違った方法で理解uniqueしているだけです。sapply

0 投票する
1 に答える
16295 参照

r - R の sapply の NA を無視して、リスト内のすべての要素の 2 番目のサブ要素を抽出します

R の NA を無視して、リスト内のすべての要素の 2 番目のサブ要素を抽出しようとしています。小さな例を次に示します。

要素 'b' には 1 つのサブ要素 (NA) しかないため、2 番目のサブ要素を抽出しようとすると、次のエラーが表示されます。

私の目標は、出力が 7、NA、9 になることです。つまり、出力が list の要素数と同じ長さになるように、NAを無視して保持したいと考えています。各リストの別のサブ要素 n にも適用できるように、ソリューションを一般的なものにしたいと考えています。

0 投票する
1 に答える
129 参照

r - ロングフォーマットデータからワイドフォーマットへの変換 (for ループで試行) sapply を使用できますか?

を設定するのに問題がありsapplyます。必要な作業を行う for ループはありますが、完了するのに時間がかかりすぎます。

変数名の説明:

df の列名: ユーザー ID、アイテム ID 1、アイテム ID 2、...、アイテム ID n

ユーザーが所有するアイテムを示すバイナリ テーブルを作成しようとしています。
例:

生データは次のようになります。

私が持っているforループは次のとおりです。

を使用してこれをどのように変換しsapplyますか? (またはその他の適用機能)

ありがとうございました!

ps このタスクを実行するためのより良い方法がある場合は、お知らせください。Rで物事を行うためのより効率的な方法を学ぼうとしています.

0 投票する
1 に答える
344 参照

r - データの分割と適用

私はこのR言語に不慣れで、すべてのデータセットの戻り値を計算するのが難しいですIdentification

次のようにグループ化された月次観測の非常に大きなデータセットがあります。

すべての の月次収益率を計算できる関数を作成する必要がありますIdentification。次に、「サブセット」の上位レベルで計算された値を集計する必要があります(平均加重「%」)。

この方法 で、ベクトルの形式を「%Y-%m」に変更しましたtimesyear-monthas.yearmon(as.character(Data$Times), format = "%Y%m")

そして、次のように、 andIdentificationを使用してすべてのリターンを計算しようとしました: splitsapplyxm <- split(Data, Identification) Retxm <- sapply(1:length(xm), function(x) returns(Value))

上記の関数を使用した出力は次のようになります。

出力はあまり明確ではないため、行に Times を、ヘッダーにIdentification.

どうもありがとう!

0 投票する
3 に答える
116 参照

r - 1:n の代わりに値のベクトルを使用する sapply()

sapply()次の形式のステートメントを希望します。

通常は の代わりにc(a)を使用しますが1:x、 で指定された値のみを調べたいと思いますa。これは可能ですか?

更新:ポイントはその後に続くものではありませんfunction(x)。これは例としてのみ意図されています。

0 投票する
2 に答える
124 参照

r - 関数を展開し、deriv で導関数を計算する

展開して派生させたい関数のラテックスコードは次のとおりです。

$f(x) = \sum\limits_{i=1}^n \left(x_i + \frac{h}{2}(1-ih)\sum\limits_{j=1}^i jh(x_j + jh +1)^3 + \frac{h}{2}ih\sum\limits_{j=i+1}^n (1-jh)(x_j+jh+1)^3 \right)^2$

ここに画像の説明を入力

n=6throughの導出を予定していderiv(expression(myfunction),c('x1', 'x2','x3','x4','x5','x6'))ます。関数を展開せずに導関数を計算する方法がわかりませんが、方法があれば教えてください。

私の問題は、式の一部が繰り返されるため、関数を1つの文字列に展開しようとしたときに始まります。

0 投票する
1 に答える
1136 参照

r - data.frame とバイナリ マトリックスからサブセットを作成するエレガントな方法

Price 列と Material 列を含むデータ フレームと、N 列 (各列は特定の種類の材料) を含む true/false マトリックスがあり、T/F 値は、「material」文字列がデータ マトリックスに表示されるかどうかを示します。

データ

マトリックス

...等。

材料に基づいて価格のサブセットを作成するにはどうすればよいですか? そのため、材料が「金属」である価格の平均、範囲モードなどを計算できます。

私の最初の解決策は、

次に、newMat で列操作を実行します (平均値、分位数など)。

しかし、これは残忍な方法のように思えます。なぜなら、サブセットを結合したいからです (たとえば、Metal && Cotton のあるものの平均価格など)。

私も試しました

しかし、警告を受けました。

lapplysplitddply、およびを使用しようとしましsubsetたが、R についての私の理解は実行するのに十分ではありません。

これはおそらく非常に単純なことですが、一度に 1 つのサブセットを作成するのではなく、マトリックスを使用して複数のサブセットを作成する方法に固執しています。

どんな助けでも素晴らしいでしょう。

私は以下を見てきました

整数行列で data.frame をサブセット化する

マトリックスを別のマトリックスの id でサブセット化する

サブセットから観測を選択して、R の大きなデータフレームに基づいて新しいサブセットを作成します

R別のデータフレームの列ごとにデータフレームの列を選択する

0 投票する
3 に答える
5191 参照

r - R for ループは sapply よりも高速です

for ループを apply ステートメントに置き換えるたびに、R スクリプトの実行速度が向上しますが、例外があります。apply ファミリを正しく使用することにまだ慣れていないので、for ループよりもパフォーマンスを向上させる (つまり、高速化する) には、apply ステートメントに何ができるでしょうか?

サンプルデータ:

目標は、各行に vc の各要素の上位 3 の値が含まれる数値行列 m.res を作成することです。forループは次のとおりです。

以下は私の「適用ソリューション」です。なぜ遅いのですか?どうすれば速くなりますか?ありがとうございました!

更新: @John の提案に従い、2 つのトリミングされた真に同等の関数を生成しました。確かに、lapply 関数を多少高速化することはできましたが、それでも for ループよりも遅いです。これらの関数を最適化して速度を上げる方法についてアイデアがあれば、お知らせください。皆さん、ありがとうございました。