#r #dataframe #subset
#r #фрейм данных #подмножество
Вопрос:
Я хотел бы подмножить данные и заполнить все строки в определенных столбцах значениями NA. Проще следовать примеру:
x[,c(1,3,NA,5,NA)]
чтобы вернуть это:
Я знаю, что это, очевидно, не сработает, поскольку у меня нет этих столбцов NA в x. Но есть ли какой-то способ сделать это? Возможно, вставить два подмножества вместе со столбцами NA между ними?
Комментарии:
1. Просто сделайте
cbind(x[c(1,3)], NA, x[5], NA)
2. ах да, я все еще держусь на ногах в R, спасибо.
3. Также научитесь использовать
is.na<-
функцию, например;is.na(x[ , c(3,5)] <- TRUE
Ответ №1:
Как рекомендовано @konvas, просто используйте cbind
.
Вот рабочий пример:
mydf <- data.frame(trait1 = 1:2, something = c("A", "B"),
trait2 = 3:4, nothing = c("C", "D"), height = 5:6)
mydf
# trait1 something trait2 nothing height
# 1 1 A 3 C 5
# 2 2 B 4 D 6
cbind(mydf[c(1, 3)], NA, mydf[5], NA)
# trait1 trait2 NA height NA
# 1 1 3 NA 5 NA
# 2 2 4 NA 6 NA