鉴于我对R非常不熟悉,所以这可能是一个非常简单的问题。我知道通常可以使用deparse(substitute(.))
来提取变量的名称。但是,如果我有一长串变量(假设它是不带名称的),那么如何有效地提取每个变量的名称呢?我当时在考虑使用循环,但是deparse(substitute(.))
方法显然会生成我们用来表示每个项目的“通用”变量名称。
示例代码:
countries<-
list(austria,belgium,czech,denmark,france,germany,italy,luxemberg,netherlands,poland,swiss)
假设我想获得等于countryNames
的{{1}},我该如何编码?我尝试使用list("austria","belgium",...,"swiss")
生成列表,但是这非常繁琐,并且在某些情况下,我可能只有其他地方的未命名输入列表。
答案 0 :(得分:2)
countries
仅具有每个对象的值(austria
,belgium
等)。要访问名称,您需要在创建countries
的同时创建一个命名列表,可以像这样进行操作:
countries <- list(austria = austria,belgium = belgium....)
但是,如果这很繁琐,则可以使用tibble::lst
来自动创建名称,而无需明确提及它们。
countries <- tibble::lst(austria,belgium....)
在两种情况下,您都可以使用names(countries)
访问名称。
答案 1 :(得分:0)
如果仅在全球环境中加载了国家对象,我们可以轻松地使用ls
和mget
来返回命名的list
值
countries <- mget(ls())