Я часто работаю с наборами данных из spss, в которые обычно встроены метки переменных.
Мне нравится иметь аккуратную опцию для извлечения меток этих переменных, если они присутствуют.
Я думаю, что нашел правильный код, но есть одна ошибка, которую я не понимаю.
Вот код.
Сначала я хочу извлечь метки из списка векторов. :
lista2 <- sapply(list(variable1, variable2, variable3), function(x) {attr(x, which = "label")})
Я получаю другой список, например:
[[1]]
[1] "Q1. Wska? swoj? p?e?:"
[[2]]
[1] "Q3. Jaki masz kolor oczu?"
[[3]]
NULL
Затем я создаю пустой вектор:
labels <- c()
И в конце Я пытаюсь создать l oop:
for(i in length(lista2)) {
if(is.null(lista2[[i]]) == F) {
labels[[i]] <- lista2[[i]]
}
else{
labels[[i]] <- c("z")
}
}
К сожалению, первая часть if
не работает.
[1] NA NA "z"
Но когда я делаю это вручную, это Я пишу, например,
labels[[1]] <- lista2[[1]]
Все работает хорошо.
Буду благодарен за любую помощь.