【问题标题】:How to change the name of data frame using specific value?如何使用特定值更改数据框的名称?
【发布时间】:2022-01-09 13:46:29
【问题描述】:

我想使用从数据名称中获得的特定值更改数据框的名称。我的data 来自世界银行的开放数据倡议。

我的代码:

library(readxl)

API_SP_POP_TOTL_DS2_en_excel_v2_3358348 <- read_excel("API_SP.POP.TOTL_DS2_en_excel_v2_3358348.xls", sheet = "Data", skip = 3)

colnames(API_SP_POP_TOTL_DS2_en_excel_v2_3358348) <- sub(" ", "", colnames(API_SP_POP_TOTL_DS2_en_excel_v2_3358348))

indicatorName <- API_SP_POP_TOTL_DS2_en_excel_v2_3358348$IndicatorCode[1]

varName = gsub(".", "", indicatorName, fixed=TRUE)

然后,我想将 varName(在这种情况下,varName 为 SPPOPTOTL)指定为数据的名称,因为它是 API_SP_POP_TOTL_DS2_en_excel_v2_3358348,所以很长。

总之,我想得到这个结果。

  SPPOPTOTL <- API_SP_POP_TOTL_DS2_en_excel_v2_3358348

我不想直接输入 varName SPPOPTOTL

【问题讨论】:

  • 一般不推荐,不过可以看看assign

标签: r dataframe


【解决方案1】:

这是获取变量名的一种方法,然后按照@user2974951 的建议,您可以使用assign。这将创建SPPOPTOTL 并将其添加到全局环境中。

library(tidyverse)

varName <- API_SP_POP_TOTL_DS2_en_excel_v2_3358348 %>%
  dplyr::pull("Indicator Code") %>%
  head(1) %>%
  str_replace_all(., "[[:punct:]]", "")

assign(x = varName, value = API_SP_POP_TOTL_DS2_en_excel_v2_3358348)

【讨论】:

    猜你喜欢
    • 2020-03-15
    • 2015-09-22
    • 2015-04-06
    • 2022-10-13
    • 1970-01-01
    • 2018-02-23
    • 2021-08-28
    • 2016-10-17
    • 1970-01-01
    相关资源
    最近更新 更多