dfの行ごとの値の頻度をチェックし、値の1つが6回以上現れるかどうかを調べる関数が必要です。新しい列の値。そうでない場合は、同じ新しい列に "nope"を書き込む。 次の例では、行の値は1,2または3のいずれかになります。したがって、値1,2または3のいずれかが行ごとに6回以上現れる場合は、(1,2、or3)新しい列に表示する必要があります。行ごとに6回以上表示されない値がない場合、その同じ新しい列の値は "nope"にする必要があります。 example行の数値の要約を抽出する関数R
答えて
make_count_col <- function(x) {
cnt <- apply(x, 1, table)
x$newcolumn <- apply(cnt, 2, function(y) {
if (max(y, na.rm = T) < 6)
out <- 'nope'
else
out <- names(y)[which.max(y)]
out
})
x
}
あなたの例で複製
x <- as.data.frame(matrix(c(1, 2, 1, 2, 2, 2, 2, 2, 3,
2, 3, 1, 1, 3, 2, 1, 1, 3), nrow = 2, byrow = T))
colnames(x) <- paste0('svo', 1:9)
make_count_col(x)
svo1 svo2 svo3 svo4 svo5 svo6 svo7 svo8 svo9 newcolumn
1 2 1 2 2 2 2 2 3 2
2 3 1 1 3 2 1 1 3 nope
あなたはapply` `をチェックすることができる
親愛なるベン、感謝を使用して行ごとにtable
関数を適用してみたが、私"Dim(x)は正の長さでなければならない"というエラーが出ます。これは、基本的には適用できないことを示しています:)オブジェクトcntに対するapply関数は、オブジェクトcntがリストであるためです。私は、 "apply(x、1、table)"を使って関数の外側にcntオブジェクトを作成しようとしましたが、データフレームに戻すと、ベクトルを含む列が作成されます。リストに追加して、私はmax関数をさらに適用できません。 –
関数に 'x'として渡すもののより良い例を提供できますか?私はあなたが上記で与えたものを使ってみました。 –
こんにちはベン、ありがとう、それはスタックされたRセッションでした:(あなたのご協力ありがとうございます –
- 1. 要約相関係数を抽出する
- 2. Rの混合変数列から数値を抽出する
- 3. R - 複数のlmsのリストからt値を抽出する
- 4. R複数のリストの各データフレームから値を抽出する
- 5. レプリケート関数からの値の抽出
- 6. 文字列からのみ数値を抽出する関数
- 7. R関数のリストからベクトルを抽出する
- 8. Rの行列の連鎖数を抽出するには?
- 9. xmlファイルから複数の値を抽出するR
- 10. 数値の抽出数
- 11. 関数を抽出する
- 12. R出力の値を抽出する
- 13. Rパッケージで使用する関数を抽出するには?
- 14. Rでグローバルに使用されるローカル関数の引数を抽出する
- 15. 抽出値 - R
- 16. 関数を実行するR関数
- 17. 任意の関数から関数のパラメータとデフォルト値を抽出する
- 18. Rのステートメントから数値データを抽出しますか?
- 19. 関数内で定義されたオブジェクトを抽出するR
- 20. R:範囲内の正の数値のみの要約情報
- 21. 複数の値を抽出するBash
- 22. Matlabのシンボリック関数の行列を抽出する方法
- 23. Rパッケージquantreg:p値の抽出
- 24. Rからの値の抽出R
- 25. R - 要約(データ)と要約(データ$変数)の不一致
- 26. 関数出力の偶数をR
- 27. 複数の行を抽出するXMLStarlet
- 28. R:複数の列(数値、文字)を要約し、NAsを取り除く
- 29. $ _FILES変数のPHP抽出関数
- 30. Regex - 1行に複数の要素を抽出する
と' table' – akrun