Недавно я перешел с STATA на R. В STATA у вас есть нечто, называемое меткой значения.Например, использование команды encode позволяет превратить строковую переменную в числовую, с меткой строки, прикрепленной к каждому числу.Поскольку строковые переменные содержат имена (которые повторяются большую часть времени), использование меток значений позволяет сэкономить много места при работе с большим набором данных.К сожалению, мне не удалось найти аналогичную команду в R. Единственный найденный мной пакет, который может прикрепить метки к моему вектору значений, это sjlabelled.Это делает вложение, но когда я пытаюсь объединить вложенный числовой вектор с другим фреймом данных, метки, кажется, «падают».
Например: скажем, мы берем абзац из Википедии только для того, чтобы получитьстроковая переменная.
paragraph <- "Melanija Knavs was born in Novo Mesto, and grew up in Sevnica, in the Yugoslav republic of Slovenia. She worked as a fashion model through agencies in Milan and Paris, later moving to New York City in 1996. Her modeling career was associated with Irene Marie Models and Trump Model Management"
install.packages("sjlabelled")
library(sjlabelled)
sentences <- strsplit(paragraph, " ")
sentences <- unlist(sentences, use.names = FALSE)
# Now we have a vector to string values.
sentrnces_df <- as.data.frame(sentences)
sentences <- unique(sentrnces_df$sentences)
group_sentences <- c(1:length(sentences))
sentences <- as.data.frame(sentences)
group_sentences <- as.data.frame(group_sentences)
z <- cbind(sentences,group_sentences)
z$group_sentences <- set_labels(z$group_sentences, labels = (z$sentences))
sentrnces_df <- merge(sentrnces_df, z, by = c('sentences'))
get_labels(z$group_sentences) # the labels I was attaching using set labels
get_labels(sentrnces_df$group_sentences) # the output is just “NULL”
The labels I was attaching using set labels
Спасибо!PS Извините за не элегантный код, как я уже говорил, я довольно новичок в R.