特定の列が空であるかどうかに基づいて、データフレームの長いリスト内からデータフレームを選択しようとしています。データフレームのリストからデータフレームを選択する
この問題を解決するために作成したコードとともに、再現可能な例を示します。私は(ここでは、Cのためのb)は、別の許容可能な代替品として1つの確率変数を使用していますので、DF1 aは私が言って警告メッセージ取得の両方のグループ1とグループ2
d1 <- data.frame(a=rnorm(5), b=1:5, c=rnorm(5))
d2 <- data.frame(a=1:5, b=rnorm(5), c = c(NA, NA, NA, NA, NA))
d3 <- data.frame(a=1:5, b=c(NA, NA, NA, NA, NA), c=c(1:5))
my_test_data <- list(d1, d2, d3)
group_1 <- list()
group_2 <- list()
for (i in 1:length(my_test_data)) {
if(!is.nan(my_test_data[[i]]$b)) {
group_1[i] <- my_test_data[i]
}
else if (!is.nan(my_test_data[[i]]$c)) {
group_2[i] <- my_test_data[i]
}
else NULL
}
で終わる場合、私は気にしませ午前:
警告メッセージ: 1:(!is.nan(my_test_data [I]の$ B)){場合において: 条件が持つ長さ> 1と最初の要素のみが使用される
、グループ1とグループ2はmy_test_dataと同じです
すべての助力が大変感謝しています。
'is.nan'または' is.na'試験全体ベクトルと列の同じ長さのベクトルを返す、例えば 'is.na(D2する$ C)' – h3rm4n
の出力をチェックありがとうございます - このアプローチはうまくいかないでしょう。私はこれをどうやってやろうとしているのですか? –