【问题标题】:How to rename columns in R如何重命名R中的列
【发布时间】:2021-02-09 01:47:03
【问题描述】:

这是非常基本的,但我发现的例子更复杂。下面的代码是我正在使用的

    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 重命名为就业范围。接下来(这可能是另一个问题)是让他们只通过empsizval 产生前20 名。这里是否需要 top 或 bottom 命令?如果需要,它是在 select 之后还是在里面?

【问题讨论】:

  • 您需要按地区或名称进行empsizval 吗?您希望它按什么分组?
  • @KarthikS,是的。所以最终产品将是每个区域的前 20 名(按 empsizval 排名)。

标签: r rename rank


【解决方案1】:

使用基础 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 个就业范围值。

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 2018-10-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-07-28
      • 2018-07-16
      • 2015-10-21
      • 1970-01-01
      • 2022-08-08
      相关资源
      最近更新 更多