【发布时间】:2020-09-02 17:40:00
【问题描述】:
我想我可以在不解释我为什么这样做的细节的情况下问这个问题,让我们试试:
我正在编写一个函数,它所做的部分工作是创建一个名为x 的数据框。我有一个列表,我想将此数据框存储在名为Subsets 中。我可以使用以下代码获得将x 放置在subsets 中的功能:
Subsets <- append(Subsets, list(x))#adds x to Subsets
这很好,但是有列表Subsets的目的是存储多个数据帧(即该函数将用于多个xs,每个x的这个数据帧将整齐存储在列表对象Subsets)。自然,每次我将这个数据框用于不同的x 时,我都想为其命名。我想使用的命名约定可以从数据框x 中的信息中提取。我想粘贴x[1,1] 和x[1,6] 中的值(它们是表示每个x 的唯一位置和ID 的列),并使用它来命名存储在Subsets 列表中的数据框。
我可以(在函数外部)使用我想要的名称从 x 创建一个新的数据框,使用 assign(paste0(x[1,1],x[1,6]),x)
但是当我尝试将这些组合起来以使其成为列表中数据框的名称时,我无法让它工作:
#the word in x[1,1] is NY and the word in x[1,6] is 1
#so the name of the object within the list is supposed to become NY1
Subsets <- append(Subsets, list(assign(paste0(x[1,1],x[1,6]),x),)
我做错了什么?
【问题讨论】:
-
我认为您需要创建一个可重现的示例
标签: r list function dataframe functional-programming