У меня есть вложенный цикл в приведенном ниже коде.
Это зацикливается на каждом столбце и каждой строке - есть ли простой способ векторизовать это?
FYI - содержимое цикла проверяет, содержит ли список в каждой записи только NA, и, таким образом, можно удалить весь столбец.
# install.packages("rtweet")
library("rtweet")
rbloggers <- get_timeline(user = "Rbloggers", n = 10000)
View(rbloggers)
# install.packages("janitor")
library("janitor")
rbloggers <- janitor::remove_empty(rbloggers, which = "cols")
# this removes the columns with NA or blank - which are not in lists.
# readr::write_csv - would like to use this later and this cannot handle vector of type list.
rbloggers <- as.data.frame(rbloggers)
for (j in 1:ncol(rbloggers)){
x <- 0
for (i in 1:nrow(rbloggers)){
x <- x + all(is.na(rbloggers[i,j][[1]]))
}
# if every element is NA, then remove the column
if(x == nrow(rbloggers)) {rbloggers[,j] <- NULL}
# Many ways to remove a column:
# # Data[2] <- NULL
# # Data[[2]] <- NULL
# # Data <- Data[,-2]
# # Data <- Data[-2]
}
К вашему сведению - я пытаюсь понять следующие ссылки: