我想在我的資料集 ( dat) 的20 列中連接文本,跳過所有 NA 值。
例如,如果第一行的第 1 列有“貓”,第 2 列有“狗”,第 3 列有 NA,我想在新列 ( dat$results)中將其編譯為“貓狗” 。這是我所擁有的:
m <- ""
for(i in 1:20){
if(!is.na(dat[,i])){
m <- paste(m, dat[,i], sep = " ")
}
else {
next
}
}
dat$results <- m
回圈只運行到第 3 列(我的第一行是 NA)。對于第一行來說不是問題,但是在第 3 列中有文本的其他行不會編譯該列。我可以在這里做什么?
uj5u.com熱心網友回復:
也許只是一次性連接所有列,然后洗掉na's 和雙空格
dat$result <- gsub('\\s\\s', ' ', gsub('NA', '', do.call(paste, d[,1:20])))
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/383100.html
