【问题标题】:How to name a list object in R [duplicate]如何在R中命名列表对象[重复]
【发布时间】:2021-10-25 11:22:01
【问题描述】:

在 R 中,列表本身的对象 [1]、[2] 和 [[3]] 似乎无法重命名。见:

my_df1 <- mtcars[1:10,]
my_df1 <- mtcars[11:20,]
my_df1 <- mtcars[21:30,]
my_list <- list(my_df1, my_df2, my_df3)

这给了我以下信息:

有没有办法重命名 [1] 对象本身? 我发现这是 R 的一个缺点。 我正在处理数据类别,并希望通过标记每个对象来确定我正在处理的类别。谢谢

【问题讨论】:

  • 试试:list(a=my_df1, b=my_df2, c=my_df3)
  • names(my_list)[1] &lt;- "a"

标签: r list labeling


【解决方案1】:

如果您想在创建列表时为其命名,可以使用tibble::lst

my_df1 <- mtcars[1:10,]
my_df2 <- mtcars[11:20,]
my_df3 <- mtcars[21:30,]
my_list <- tibble::lst(my_df1, my_df2, my_df3)

如果列表已经创建,您可以使用namessetNames 来命名列表。

names(my_list) <- c('list1', 'list2', 'list3')

setNames(my_list, c('list1', 'list2', 'list3'))

【讨论】:

  • structure 避免对 stats 包的依赖
  • 执行 setNames(my_list[[1]], labels[1]) 只是设置第一个对象的名称,不起作用。
  • 使用my_list[1] &lt;- setNames(my_list[1], labels[1])
  • 好吧,我意识到我在现实生活中的例子是不同的。所以我将打开一个新问题。谢谢。这在这种情况下有效。
猜你喜欢
  • 2011-02-12
  • 1970-01-01
  • 2021-12-03
  • 2021-05-15
  • 1970-01-01
  • 2020-05-22
  • 1970-01-01
  • 2014-10-03
  • 2014-02-10
相关资源
最近更新 更多