如何重命名 R 中的列

How to rename columns in R

这很简单,但我找到的例子更复杂。下面的代码是我正在使用的

    con <- dbConnect(odbc::odbc(),"Database 1")
    top20empdb<- dbGetQuery(con, "SELECT 
    area,name,cityP,Primnaics,busdesc,privgovsta,empsizval,empsizrng,releaseno FROM empdb where 
    releaseno = '211'")
    dbDisconnect(con)

首先,我需要将列 cityP 重命名为 City,将 empsizrng 重命名为 Employment Range。接下来(这可能是另一个问题)是让他们只产生 empsizval 的前 20 名。这里需要顶部或底部命令吗?如果需要,它是在 select 之后还是在它的内部?

使用基数 R:

names(top20empdb)[names(top20empdb)=='cityP'] <- 'City'
names(top20empdb)[names(top20empdb)=='empsizrng'] <- 'EmploymentRange'

您的下一个查询:

top20empdb %>% group_by(area) %>% slice_max(order_by = EmploymentRange, n = 20)

按地区分组并获取前 10 个 EmploymentRange 值。

这里是一个带有 tidyverse 的选项,其中我们 rename 列并使用 top_nwt 作为 'empsizval' 获取前 20 行]

library(dplyr)
out <- top20empdb %>%
        rename(cityP = City, EmploymentRange = empsizrng) %>%
        group_by(area) %>%
        top_n(20, wt = empsizval)