当前位置: 首页 > 知识库问答 >
问题:

在r中使用列表的对象名创建新变量

沈凡
2023-03-14

我有一个命名的数据帧列表。我需要用数据帧的名称为每个数据帧创建一个新变量,这样我最终就可以将它们全部rbind起来,以生成统计数据和绘图。

我知道lapply不会传递对象的名称,也知道有很多类似问题的帖子,但我无法将我看到的任何解决方案适用于我的特定问题。

这是我第一次尝试的方法,但显然不起作用,因为names(x)不会返回对象的名称。

TestList<-list(a=data.frame(Var1=1:5,Var2=5:1),b=data.frame(Var1=6:10,Var2=10:6))

lapply(TestList,function(x,y=names(x)){x$var3<-y;return(x)})

我也试过使用seq_along,但之后我就不知道如何为每个数据帧创建新变量了。

lapply是否传递索引?如果是这样,我可以创建一个新对象

名称(测试列表)

共有1个答案

韩自怡
2023-03-14

对于我需要的最后一个数据帧,我找到了一个更简单的解决方案

bind_rows(TestList, .id = "Var3")
 类似资料:
  • 问题内容: 如何使用列表中的名称创建新变量?这个: 当然不行。我该怎么办? 我想做这个: 问题答案: 我认为更适合此目的: 但是,如果您仍然想即时创建变量,则可以使用:

  • 我在R中有两个数据表,如下: 具有列、、、,其中是主键,是次要键。 有列、、、、......、。这里是主键,因此每一行对应于唯一的,其他列名对应于中的辅助键。 我想在< code>DT_A中添加另一列,其中第I行包含表DT_B[sid_i,date_i]中的相应元素 下面是示例代码和所需输出: 虽然我当前的方法在这个小例子上有效,但我的实际DT_A有2000万行,这个方法完全挂在那里,我们可以使用

  • 我正在进行一些考试修改工作,创建了一个Employee抽象类和两个扩展到Employee类的其他类(AcademyicEmployee和ProfessionalEmployee)。 我在Employee类中设置了一个公共静态void main来运行这些行: 我知道您不能实例化一个抽象类,并且创建的实际对象是“new”关键字之后的任何内容,但为什么允许我这样做: 我想它的工作方式是“数据类型”然后“

  • 我有一个名为MarkerCustom的类文件。MarkerCustom有一个构造函数,它接受三个不同类型的变量。 从我的main Main活动中,我希望加载一个GLSurface视图,该视图将获取MarkerCustom的每个实例的ArrayList,我希望将这些实例与将传递给MarkerCustom的构造函数的每个实例的数据一起加载到GLSurface中。 让我们调用数组列表; 我需要看起来像这

  • 我有数据集,我需要调整通货膨胀的多个变量。它看起来像这样。 我需要把这些都放在一个恒定的格式中(比如2020美元)。我可以用< code>priceR包中的< code > adjust _ for _ inflation 函数很容易地做到这一点。然而,有很多价格变量,所以我想自动创建它们。我一直在尝试使用< code > cross ,但它不起作用。以下是我一直在尝试的。 据我所知,这应该是一个

  • 问题内容: 我如何用对象填充ArrayList,而内部的每个对象都不相同? 问题答案: