ある場合は、1つの列が重複している行を削除data.tableを例data.tableR別の列は、ここでNA
dt <- data.table(col1 = c('A', 'A', 'B', 'C', 'C', 'D'), col2 = c(NA, 'dog', 'cat', 'jeep', 'porsch', NA))
col1 col2
1: A NA
2: A dog
3: B cat
4: C jeep
5: C porsch
6: D NA
である私は、COL2はNAであり、非を持っている場合COL1が重複している行を削除します別の行の-NA値。 AKAグループcol1で、グループに複数の行があり、そのうちの1つがNAである場合は、それを削除します。これはdt
ため、結果、次のようになります。
col1 col2
2: A dog
3: B cat
4: C jeep
5: C porsch
6: D NA
私はこれを試してみました:私は
dt[, list(col2 = ifelse(length(col1>1), col2[!is.na(col2)], col2)), by=col1]
col1 col2
1: A dog
2: B cat
3: C jeep
4: D NA
何をしないのですか?ありがとうございます