在R中的for循环中创建动态命名的对象并分配动态值

用户名

我正在尝试temp2015使用for循环创建一组动态命名的新对象(例如),并存储动态值-具体来说,是其他对象的名称(例如Y2015)和for循环中使用的值(例如2015)-在动态命名的新对象中。

我不确定为什么下面的代码不起作用。

Y2015 = data.frame(VAR1 = 6:10, VAR2 = 1:5)
Y2016 = data.frame(VAR1 = 7:11, VAR2 = 11:15)
Y2017 = data.frame(VAR1 = 7:11, VAR3 = 5:9, VAR4 = 4:8)

for (i in 2015:2017) {
  paste0("temp", i) <- cbind(names(paste0("Y", i)), i)
}

all <- rbind(temp2015, temp2016, temp2017)

下面的代码获得了我想要的结果(特别是对象中的数据内容all_manual),但这是在非常小的示例数据集上手动完成的,不是长期解决方案。

Y2015 = data.frame(VAR1 = 6:10, VAR2 = 1:5)
Y2016 = data.frame(VAR1 = 7:11, VAR2 = 11:15)
Y2017 = data.frame(VAR1 = 7:11, VAR3 = 5:9, VAR4 = 4:8)

all_manual = data.frame(file = c('VAR1', 'VAR2', 'VAR1', 'VAR2', 'VAR1', 'VAR3', 'VAR4'),
                 year = c(2015, 2015, 2016, 2016, 2017, 2017, 2017))

我将不胜感激任何有关如何使此工作的建议或想法。

马库斯

您可以使用mgetstack

# creates a list of all objects with names starting with "Y" followed by 4 digits
l <- mget(x = ls(pattern = "^Y\\d{4}$"))

现在用于stack根据该列表的名称和该列表包含的数据框的列名称创建一个数据框

out <- stack(sapply(l, names))

结果

out 
#  values   ind
#1   VAR1 Y2015
#2   VAR2 Y2015
#3   VAR1 Y2016
#4   VAR2 Y2016
#5   VAR1 Y2017
#6   VAR3 Y2017
#7   VAR4 Y2017

如果您希望删除“ Y”并将其设置ind为数字,请尝试

out$ind <- as.numeric(sub("Y", "", out$ind))

更改列名

names(out) <- c("file", "year")
out
#   file year
#1 VAR1 2015
#2 VAR2 2015
#3 VAR1 2016
#4 VAR2 2016
#5 VAR1 2017
#6 VAR3 2017
#7 VAR4 2017

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在R中的for循环中创建动态命名的对象并分配动态值

来自分类Dev

在R中的for循环中创建动态命名的变量,并为所有新变量分配零值

来自分类Dev

在 For 循环中动态命名 R 数据帧

来自分类Dev

JavaScript 中的变量在 for 循环中的动态命名

来自分类Dev

在R中动态命名对象

来自分类Dev

在循环中动态命名变量以创建 30 个 ggplots

来自分类Dev

重命名R中for循环中的对象

来自分类Dev

重命名R中for循环中的对象

来自分类Dev

在for循环中从arraylist动态打印或分配值到html

来自分类Dev

在for循环中动态创建的变量

来自分类Dev

如何在循环中动态创建类对象?

来自分类Dev

在R中动态创建命名列表

来自分类Dev

创建动态命名的javascript对象?

来自分类Dev

如何使用序列中的值作为名称在r中的for循环中命名对象

来自分类Dev

在循环中动态声明和分配变量

来自分类Dev

在foreach循环中的php中创建动态关联数组

来自分类Dev

在shell中为动态命名的变量分配带空格的值

来自分类Dev

使用 tkinter 在 Python 中创建动态命名的 gui 对象

来自分类Dev

在PHP循环中动态创建jQuery Listview

来自分类Dev

在For ... Next循环中创建动态大小的数组

来自分类Dev

在For ... Next循环中创建动态大小的数组

来自分类Dev

使用循环将值设置为动态创建的对象

来自分类Dev

如何使用循环创建动态对象键/值?

来自分类Dev

如何将 EventHandler 分配给循环中的动态对象?

来自分类Dev

如何在JavaScript循环中为动态创建的HTML表单元素分配不同的ID

来自分类Dev

为for循环中的对象分配值

来自分类Dev

使用循环计数器,如何动态创建对象并使用计数器命名对象?

来自分类Dev

如何在for循环中释放C中动态分配的数组

来自分类Dev

for循环中的动态列名

Related 相关文章

  1. 1

    在R中的for循环中创建动态命名的对象并分配动态值

  2. 2

    在R中的for循环中创建动态命名的变量,并为所有新变量分配零值

  3. 3

    在 For 循环中动态命名 R 数据帧

  4. 4

    JavaScript 中的变量在 for 循环中的动态命名

  5. 5

    在R中动态命名对象

  6. 6

    在循环中动态命名变量以创建 30 个 ggplots

  7. 7

    重命名R中for循环中的对象

  8. 8

    重命名R中for循环中的对象

  9. 9

    在for循环中从arraylist动态打印或分配值到html

  10. 10

    在for循环中动态创建的变量

  11. 11

    如何在循环中动态创建类对象?

  12. 12

    在R中动态创建命名列表

  13. 13

    创建动态命名的javascript对象?

  14. 14

    如何使用序列中的值作为名称在r中的for循环中命名对象

  15. 15

    在循环中动态声明和分配变量

  16. 16

    在foreach循环中的php中创建动态关联数组

  17. 17

    在shell中为动态命名的变量分配带空格的值

  18. 18

    使用 tkinter 在 Python 中创建动态命名的 gui 对象

  19. 19

    在PHP循环中动态创建jQuery Listview

  20. 20

    在For ... Next循环中创建动态大小的数组

  21. 21

    在For ... Next循环中创建动态大小的数组

  22. 22

    使用循环将值设置为动态创建的对象

  23. 23

    如何使用循环创建动态对象键/值?

  24. 24

    如何将 EventHandler 分配给循环中的动态对象?

  25. 25

    如何在JavaScript循环中为动态创建的HTML表单元素分配不同的ID

  26. 26

    为for循环中的对象分配值

  27. 27

    使用循环计数器,如何动态创建对象并使用计数器命名对象?

  28. 28

    如何在for循环中释放C中动态分配的数组

  29. 29

    for循环中的动态列名

热门标签

归档