-1
大きなデータフレームのすべての数値変数に変換を適用する必要があります。データフレームには他のタイプの変数もあります。関数を使用してデータフレーム内のすべての数値変数を変換する
transformDivideThousand <- function(data_frame){
for(i in ncol(data_frame)){
if (is.numeric(data_frame[i])) {
data_frame[i]/1000
}
}
return(data_frame)
}
:私の最初のアイデアは、ここではいくつかのポインタいただければ幸いです、彼らは数値かどうかを確認してから、私は機能のために私のコードで立ち往生持っ1000
によってそれらを分割する、すべての列を反復処理することでした
機能の実行:
test <- transformDivideThousand(mypatients)
- 試験がデータフレームであるが、変換は起きていません。どこが間違っていたのですか?
- また、transformDivideThousandにオプションの引数を付けることもできます。空の場合は、すべての変数に対して繰り返し使用する変数の名前をリストに渡すことができます。
結果をループに戻す必要があります。 'data_frame [[i]] < - data_frame [[i]]/1000'である。列を抽出するには、二重角括弧を使用します。 '['と '[' 'の違いを知るべきです。例えば、 'is.numeric(data_frame [i])'は 'TRUE'をほとんど返さないでしょう。また、ループが正しく定義されていません。 'for(i in 1:ncol(data_frame))'でなければなりません。そうでなければ最後のカラムだけが考慮されます。 – nicola