問題タブ [na]

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 投票する
6 に答える
9597 参照

r - R の NA を最も近い値に置き換える

na.locf()パッケージに似たものを探していますが、以前の非値をzoo常に使用する代わりに、最も近い非値を使用したいと思います。いくつかのサンプルデータ:NANA

(3 は繰り越される)NAに置き換えます。na.locf

に設定するとna.locf( 5 は後方に繰り越されます):fromLastTRUE

しかし、最も近いNA値が使用されることを望みます。私の例では、これは 3 を最初のNAに繰り越し、5 を 2 番目に繰り戻す必要があることを意味しNAます。

解決策をコード化しましたが、車輪の再発明ではないことを確認したかったのです。すでに何かが浮かんでいますか?

参考までに、私の現在のコードは次のとおりです。おそらく、他に何もないとしても、誰かがそれをより効率的にする方法を提案できます。これを改善するための明らかな方法が欠けているように感じます:

以下のsmciの質問に答えるには:

  1. いいえ、どのエントリも NA にできます
  2. すべてが NA の場合は、そのままにしておきます
  3. いいえ。私の現在の解決策はデフォルトで左側の最も近い値ですが、問題ではありません
  4. 通常、これらの行は数十万の要素であるため、理論的には上限は数十万になります。実際には、あちこちに数個しかなく、通常は 1 つです。

更新したがって、私たちはまったく別の方向に進んでいることがわかりましたが、これは依然として興味深い議論でした。皆さんありがとう!

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

r - 動物園パッケージのエラー、データが長すぎますか?

指定されたビン幅の移動平均で新しい列を生成したいので、そのためにzooパッケージ(rollmean関数)を使用しました。私のデータシートは100万行で構成されており、この関数は最初の500,000行に適用され、その後はすべてNAが生成されますが、私が間違っている可能性のあるアイデアはありますか?

私はあなたが私に与えることができるどんな助けにも感謝します、私はこれにずっと長い間立ち往生しています。前もって感謝します。

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

r - R RandomForest からの予期しない NA 出力

NAが多いデータセットを扱っています。最初の 6 列には NA がないことがわかっています。最初の列は ID 列なので省略します。

次のコードを実行して、応答列に値を持つ行のみを選択します。

次に、次のコードを使用して、randomForest のデータ セットとして sub1 を使用します。

次に、このコードを実行して、NA の出力を確認します。

入力するデータがクリーンな場合、なぜ NA を取得するのかわかりません。

助言がありますか?

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

r - Rを使用してPCA分析を行う前に、NAとデータ代入を省略します

princompR の関数を使用して PCA 分析を実行しようとしています。

以下はコード例です。

データセットからを削除しようとしましたNAが、うまくいきません。

を削除できたNAとしても、すべての行または列に少なくとも 1 つの欠損値があるため、役に立たない可能性があります。PCA 分析を行うデータを代入できる R メソッドはありますか?


更新:回答に基づいて:

これは機能しますが、デフォルトna.actionは機能しません。

実際のデータでは、ほとんどすべての列に欠損値があるため、データを代入できる方法はありますか? このような省略の結果、NA〜0行または列が得られます。

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

r - 行の NA に基づいてデータ フレームの列を選択する

7 列のデータ フレームがあり、一部の行には 7 つの値があり、他の行には特定のポイントを過ぎた NA があるとします。NA ではない最後の値 (左から右に移動) を取得し、次に値を直接左に取得したいと考えています。これは階層的なデータですが、一部のグループは他のグループよりも深くなります。新しいデータ フレームの 2 つの列に、最も深いグループと 2 番目に深いグループが必要です。

このコードは機能しますが、46K 観測のデータ フレームのメモリを使い果たします。私が考えていないより効率的な方法はありますか?

初投稿です。通常、このサイトから必要なものをまとめることができます。前もって感謝します。

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

r - データ フレーム内の他の列からのテストに基づいて列に NA を設定する

48列の大きなデータフレームがあり、データフレームの各行で関数を実行して、関数によって指定されたテストに合格した列がNAに設定されるようにしたいと考えています。このテストでは、別のデータ フレームから数値を取得します。adply はこれに自然に適合しますが、私が望む結果を得るには問題があります。

説明させてください:

操作したいデータフレームの例を次に示します。

テストが派生する小さなデータ フレームは次のとおりです。

全体的な考え方は、大きなデータ フレームにリストされている実際の深さよりも深いセルのデータ ポイントに NA を割り当てることです (つまり、3 行目では、深さは 0.3 ですが、Cell2 に対応する 2 つのデータ ポイントがあります。 0.4 m の深さなので、これらはエラーです (これらを NA にしたい)。

一度に行を受け取る関数を書きたい: 1) 楽器の深さをつかむ 2) 列名のリストを取得する 3) 楽器の深さよりも深いセルのインデックスを取得する 4) 名前を取得するこれらのセル (つまり、Cell1、Cell2、Cell4 など) 5) 正規表現を使用して、列名のリストのどこに対応するセル (つまり、Cell1_avgdir、Cell1_avgvel など) を持つ列を見つけます。 6) これらのインデックスを使用して、それらを設定します。列の値を NA にします。

これが私がこれまでに持っているものです:

残念ながら、これは私が思っていたようには機能しません。現在、その理由を突き止めようとしています。

それは私にこれを与えます:

私が欲しいのは:

うまくいけば、私は自分の問題を十分に説明しました。1)私が始めたことを修正するか、2)私が知らないより良い方法を教えてください。

-SH

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

r - NULLの代わりに同一のDFまたはベクトルを返します

ユーザー、

結果にNULLのdata.framesがありますが、NULLにしたくありません。最初と同じ(変更なし)にしてほしい。私はファイルのリストに取り組んでおり、私のコードの目的は、すべてのNAを他のdata.framesからのデータで埋めることです(最良の相関係数による)。これが小さな例です:

これらが私の3つの入力データフレーム(それぞれ10行)であると想像してください。

ここでの目的は、たとえば、ST1にNAがある場合、ST1と最も相関の高いファイル(この例ではST2とST3の間)のデータをST1に入力する必要があることです。

ST3にはここにデータがないため、相関係数を設定できません。したがって、ST3からのNAを埋めることはできず、ST3を使用して別のファイルを埋めることもできません。したがって、ST3は必要に応じて使用できません。それでも、すべてのコードでST3を変更しないでおく必要があります。したがって、私のコードの問題は、データがなく、NAのみのdata.framesに起因します。

今のところ、私のコードは「refill」(私のコードの終わり)(私のdata.framesにNAを埋めた)のためにこれを与えるでしょう:

しかし、実際には、これを「補充」する結果が必要です。

したがって、NAのみのdata.frameの場合、「リフィル」でNULLにしたくないのですが、入力と同じにする必要があります。入力と出力の間でdata.framesの同じ次元を持つためにこれが必要です。それらがNULLの場合(今のところのようですが、理由がわかりません。これを変更したいのですが)、他のdata.framesのように10行ではなく、このdata.frameに0行があります。

したがって、関数「process.all」、「na.fill」、または「lst」のコードに問題があると思います。

head(refill)これが私のコードであり、私のエラーを理解するための再現可能な例です( ST2でNULLとして設定されていることがわかります)。少し長い場合は申し訳ありませんが、私のエラーは以前に使用した他の機能によって異なります。あなたが私の問題と私がやろうとしていることを理解してくれることを願っています。ご協力いただきありがとうございます!

(詳細については、関数「process.all」および「na.fill」で:xは入力したいdata.frameであり、yはxを入力するために使用されるファイルです(したがって、xと最も相関のあるファイル) )。

ジェフリー

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

r - R の線形モデルの係数と要約に対するさまざまな NA アクション

R で を使用する場合、 への呼び出し内lm()に設定すると、要約テーブルに推定できない係数の NA があります (この場合はセルが欠落しているため)。na.action = na.passlm()

summary(myModel)$coefficientsただし、またはを使用して集計オブジェクトから係数のみを抽出するとcoef(summary(myModel))、NA は省略されます。

要約を印刷するときに含まれるのと同じ方法で係数を抽出するときに、NA を含めたいと思います。これを行う方法はありますか?

設定options(na.action = na.pass)は役に立たないようです。

次に例を示します。

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

r - Rファクター値の変化

Rでデータ操作を行おうとしています。2つのデータフレームがあります。1つはトレーニングデータで、もう1つはテストデータです。すべてのデータはカテゴリであり、因子変数として保存されます。

データにいくつかのNAがあり、それらを「-1」に変換しようとしています。トレーニングデータに対して行うと、問題はありませんが、テストデータに対してはうまくいきません。

実行中のループ中に何かが値を変更しますが、何がわかりません。

これが前です:

ループは次のとおりです。

後は次のとおりです。

文字->数値変換で1つシフトアップするのを見てきましたが、特にデータフレーム/ループの1つだけで、なぜこれが発生しているのか理解できません。

助言がありますか?