Фрейм данных подмножества, заполняющий определенные столбцы NA в R

#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