在R中提取大量变量名称的有效方法

时间:2020-10-25 11:56:05

标签: r

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

示例代码:

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

假设我想获得等于countryNames的{​​{1}},我该如何编码?我尝试使用list("austria","belgium",...,"swiss")生成列表,但是这非常繁琐,并且在某些情况下,我可能只有其他地方的未命名输入列表。

2 个答案:

答案 0 :(得分:2)

countries仅具有每个对象的值(austriabelgium等)。要访问名称,您需要在创建countries的同时创建一个命名列表,可以像这样进行操作:

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

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

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

在两种情况下,您都可以使用names(countries)访问名称。

答案 1 :(得分:0)

如果仅在全球环境中加载了国家对象,我们可以轻松地使用lsmget来返回命名的list

countries <- mget(ls())
相关问题