首页 > 解决方案 > 在R中提取大量变量名称的有效方法

问题描述

鉴于我对 R 非常不熟悉,这可能是一个非常简单的问题。我知道通常可以使用它deparse(substitute(.))来提取变量的名称。但是,如果我有一长串变量(假设它是没有名称的),我怎样才能有效地提取每个变量的名称?我正在考虑使用循环,但该deparse(substitute(.))方法显然会生成我们用来表示每个项目的“通用”变量名。

示例代码:

countries<-
list(austria,belgium,czech,denmark,france,germany,italy,luxemberg,netherlands,poland,swiss)

假设我想得到countryNamesequals to list("austria","belgium",...,"swiss"),我应该如何编码?我尝试使用 生成列表countries <- list(countryA = countryA, countryB = countryB, ...),但它非常乏味,在某些情况下,我可能只有来自其他地方的未命名输入列表。

标签: r

解决方案


countries只会有每个单独对象的值(austriabelgium)。要访问名称,您需要在创建时创建一个命名列表countries,可以这样做:

countries <- list(austria = austria,belgium = belgium....)

但是,如果这非常繁琐,您可以使用tibble::lst它自动创建名称而无需明确提及它们。

countries <- tibble::lst(austria,belgium....)

在这两种情况下,您都可以使用names(countries).


推荐阅读