Подмножество в R дает те же уровни фактора, что и раньше

У меня типичная проблема. У меня есть набор данных, из которого я отфильтровал кадр данных на основе выбранных значений в столбце. Когда я проверяю уровни, это дает те же уровни, что и раньше, хотя фрейм данных не показывает это. Пожалуйста, изображения. Уровни (gd2$Series) возвращают те же уровни, что и уровни (gd1$Series), почему? Код выглядит следующим образом

gd <- read.csv("d3.csv")
names(gd) = sub("X","",names(gd))
levels(gd$Series)

names(gd)
sapply(gd, class)
gd1 <- gd[order(gd$Series),] 
rownames(gd1) <- NULL #reordering the rows
gd1[ gd1 == ".." ] <- NA

rownames(gd1) <- NULL #reordering the rows
levels(gd1$Series) # COMPARE THE LEVELS HERE WITH gd2$Series.

library(dplyr)
selected <- c("Air transport, freight (million ton-km)", 
          "Air transport, passengers carried",
          "Railways, goods transported (million ton-km)", 
          "Railways, passengers carried (million passenger-km)", 
          "Rail lines (total route-km)")


gd2 <- as.data.frame(gd1[gd1$Series %in% selected,])
levels(gd2$Series)

Данные можно скачать по этой ссылке: https://1drv.ms/u/s!AtnYqHF_dUb1gdFSRkzrlSanIIbMPg Это небольшой CSV-файл.

Кадр данных gd2

0 ответов

Другие вопросы по тегам