問題タブ [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.
r - Rmapplyとsapplyを組み合わせる
Rには、たとえば3つのパラメーターを受け取る関数がありますfoo(x,y,z)
。
関数を呼び出すと、実際には、の要素のリストと、の要素のx
リストy
が1つだけありz
ます。リストの場合、各要素Z
に適用したかったのですが、動作します。foo
mapply(foo, x, y, z)
ただし、z
はリストではないため、mapply(foo,x,y,z)
機能しません。
より具体的には、x
とyがそれぞれ3つの要素のリストである場合、以下は機能しますmapply(foo, x, y, list(z, z, z))
。
最初に3つの要素のリストを作成mapply
せsapply
ずに、組み合わせることができる方法はありますか?ただ再利用しz
たい!z
編集1:私は例を求められました:
次の作品:
以下は機能しません。
r - Rのデータフレームのリストにサブセットを適用すると、関数によって渡されたパラメーターが見つからない理由
Rが「eval(expr、envir、enclos)のエラー:オブジェクト'thresh'が見つかりません」と言っている関数内のデータフレームのリストにサブセットを適用しているときに、有線の問題が発生しました。なぜこれが起こるのだろうか。
r - 文字列の先頭の前に貼り付けます
だから私はベクトルを持っています
sapplyを使用して、各要素の後に文字を貼り付けることができます
さて、同様の関数を使用して各要素の前に文字を貼り付けるにはどうすればよいですか?
r - 関数と sapply を使用したデータフレームの更新
国に応じて、「US」または「Foreign」のいずれかに等しいデータフレームの列を設定しようとしています。これを行う適切な方法は、関数を記述してsapply
から、実際にデータフレームを更新することだと思います。でこのようなことを試みたのはこれが初めてR
で、クエリ SQL
を書いただけです。UPDATE
ここに私のデータフレームがあります:
私が書こうとした関数はこれです:
次に、次のように適用します。
sapply
データフレームの先頭に対して実行すると、次のようになります。
関数は Country を正しく分類しているように見えますが、clients$CountryType 列を正しく更新していません。私は何を間違っていますか?また、これはデータフレームの更新を達成するための最良の方法ですか?
r - R の sapply 呼び出し内で which を使用する関数の高速化
私は 2 つのベクトルe
とを持っていg
ます。e
各要素の要素の割合g
が小さいことを知りたいです。R でこれを実装する 1 つの方法は次のとおりです。
e
orが大きいg
と、実行に時間がかかります。このコードをより速く実行するために、このコードをどのように変更または適応させることができますか?
注:上記の関数は、dismo パッケージmf
の関数のコードに基づいています。mess
r - R:sapply印刷結果
私はこれを行っているコードを持っています:
しかし、RGuiウィンドウでは、上にスクロールして結果の一部を表示することしかできません。最初の10個ほどはウィンドウに表示されません(おそらく私のデータが非常に大きいためです)。すべてを表示するにはどうすればよいですか、または最初の10件の結果を印刷するにはどうすればよいですか?
ありがとう。
r - すべての列に対する単純な z 変換
すべての列のマトリックスで z 変換のための非常に基本的な関数を書きました。次のようになります。
sapply(MyObject, function(x){(x-mean(x))/sd(x)})
マトリックス内のいくつかのセルの関数をランダムにチェックしましたが、うまく機能しているようです。私はRに非常に慣れておらず、インターネット上で良い例を見つけることができなかったので、関数が問題ないことを確認したかった.
r - R ワイルドカード、sapply および as.factor
名前が特定のパターンに一致するデータ フレーム内のすべての変数の型を factor に変更したいと考えています。
したがって、ここでは、データフレーム内の名前がnamestubで始まるすべての変数の型を factor に変更しようとしていますdf
。
しかし、これは機能しません
r - R:データフレームの残りの部分を保持する特定の列に関数を適用します
dfから他の列を「除外」せずに、データフレームの特定の列に関数を適用する方法を学びたいです。たとえば、特定の列に1000を掛けて、他の列はそのままにしておきたいと思います。
たとえば、次のようにsapply関数を使用します。
最初の列に1000を掛けたものの、操作で使用しなかった他の列がない新しいデータフレームを取得します。だから私の試みはこのようにすることでした:
しかし、これは機能しませんでした。
私の回避策は、両方のデータフレームにIDを含む別の行を指定し、後で古いデータフレームを新しく作成されたデータフレームとマージして完全なデータフレームを取得することでした。しかし、もっと良い解決策があるに違いないと思います。ではない?
r - *apply & plyr で動作するように match.call() を取得しますか? (re: データフレームを再帰的に参照する)
以下の関数の目的は、自己参照割り当てをより簡単に行えるようにすることです。(ここで提案されているように:データフレームを再帰的に参照する)
そのため、代わりに
関数はベクトルに対してはうまく機能しますが、*ply'ing の場合はそれほど機能しません
match.call()
関数の部分に関して 2 つの問題が発生していますselfAssign()
(コードは以下にあります)。質問は次のとおりです。
- *apply-type 関数から呼び出された場合、関数内からどのように判断できますか?
- 正しい変数環境への呼び出しを追跡するにはどうすればよいですか?
最後に、ステートメントに適した引数n
を含めました。どういうわけかそれに似たものを利用できないかと思っていますselfAssign(.)
eval
n
そしておそらくselfAssignには次のようなものがありますsys.parent(n)
(私が試しましたが、うまくいかなかったか、機能しませんでした)
どんな提案でも大歓迎です。
機能
これらの関数は、selfAssign のラッパーであり、*apply
呼び出しで使用される関数です。
selfAssign
作業を実行している関数とエラーの発生元です