В R, как я могу изменить порядок переменных в табличном выражении? - PullRequest
0 голосов
/ 08 мая 2018

Я загрузил файл .csv, преобразовал его в tbl, переименовал переменные, изменил и т. Д., Используя следующее переданное по конвейеру выражение:

h2020orgs <- read.csv2(file="C:/Users/Geoff/Desktop/Personal/DataCamp/R/R projects/Horizon_2020_orgs_data/cordis_h2020_orgs.csv") %>%
  tbl_df() %>%
  select(1:15) %>%
  rename(projectRcn = ï..projectRcn,
         orgType = activityType,
         orgRole = role,
         orgID = id,
         orgName = name,
         orgShortName = shortName) %>%
  mutate(orgTypeFull = recode(orgType,
                              HES = "Higher education",
                              OTH = "Other",
                              PRC = "Private company",
                              PUB = "Public body",
                              REC = "Research centre"))

Используя имена (h2020orgs), вы можете увидеть индекс переменных:

names(h2020orgs)
 [1] "projectRcn"         "projectID"          "projectAcronym"     "orgRole"           
 [5] "orgID"              "orgName"            "orgShortName"       "orgType"           
 [9] "endOfParticipation" "ecContribution"     "country"            "street"            
[13] "city"               "postCode"           "organizationUrl"    "orgTypeFull"

Я хотел бы переместить "orgTypeFull", чтобы он был рядом (сразу после) с "orgType". Я знаю, что могу сделать это, используя следующий автономный вызов: h2020orgs <- h2020orgs[, c(...)], но есть ли способ включить это в вышеприведенное выражение?

Ответы [ 3 ]

0 голосов
/ 08 мая 2018

Вы можете изменить порядок столбцов, используя select() из dplyr, либо по имени, либо по индексу.

Использование индекса:

... %>% select(1:8, 16, 9:15)
0 голосов
/ 08 мая 2018

Вы можете использовать setcolorder из пакета data.table :

h2020orgs %>% setcolorder(c(1:8,16:9))

или без труб:

setcolorder(h2020orgs, c(1:8,16:9))
0 голосов
/ 08 мая 2018

Использовать select([...], orgType, orgTypeFull, [...]), где [...] означает «поместить туда другие имена столбцов».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...