У меня есть кадр данных dd2
с сотнями столбцов и что мне нужно сделать, вставьте все эти значения столбца вместе, опуская любые значения NA
. Если я что-то вроде этогоКак опустить значения NA при одновременном вклеивании многочисленных значений столбцов?
apply(a, 1, paste, collapse=",")
это на самом деле включает в себя NA
с, как "NA"
строки. Я хочу этого избежать. Я мог бы также сделать так, как показано ниже, но это ожидало, что я буду работать для каждой отдельной колонки за раз, чтобы получить результат.
result <- cbind(
dd2,
combination = paste(dd2[,2], replace(dd2[,3], is.na(dd2[,3]), ""), sep = ",")
)
Есть ли эффективный способ сделать это? Вот образец данных:
dd2 <- structure(c("A", "B", "C", "D", "E", "AK2", "HFM1", NA, "TRR",
"RTT", NA, "PPT", "TRR", "RTT", NA, "PPT", NA, NA, "GGT", NA), .Dim = c(5L,
4L), .Dimnames = list(NULL, c("sample_id", "plant", "animal",
"more")))
Ваши данные выборки не 'data.frame'. С «dd2» вы просто пытаетесь вставить все столбцы, кроме первого? – A5C1D2H2I1M1N2O1R2T1
@AnandaMahto Я хочу вставить отдельные значения столбцов вместе без каких-либо NA. Например, я хочу вставить 'dd2 [, wanted.columns]'. – MAPK
Возможно, что-то вроде этого тоже будет работать: 'melt (as.data.table (dd2), measure.vars = c (" plant "," animal "), na.rm = TRUE) [, toString (value), by =. (sample_id, more)] '. – A5C1D2H2I1M1N2O1R2T1