在每个数据框列上操作具有不同操作的数据框对象列表

时间:2016-10-07 16:25:27

标签: r lapply

给出数据框对象的列表l

l = list()
l$`__a` <- data.frame(`__ID` = stringi::stri_rand_strings(10, 1), col = stringi::stri_rand_strings(10, 1), check.names = F )
l$`__b` <- data.frame(`__ID` = stringi::stri_rand_strings(10, 1), col = stringi::stri_rand_strings(10, 1), check.names = F )
l$`_c` <- data.frame(`__ID` = stringi::stri_rand_strings(10, 1), col = stringi::stri_rand_strings(10, 1), check.names = F )

如何自动执行以下操作,使其适用于类似结构的任何输入列表l

l2 = list()
l2$`__a`$`__ID.new` <-  paste0("ABC_",l$`__a`$`__ID`)
l2$`__a`$`col.new` <-  paste0("DEF_",l$`__a`$`col`)

l2$`__b`$`__ID.new` <-  paste0("ABC_",l$`__b`$`__ID`)
l2$`__b`$`col.new` <-  paste0("DEF_",l$`__b`$`col`)

我正在寻找一个解决方案:

  • 包括__
  • 中以l2开头的所有列表项
  • 允许以不同的方式操作每个数据框列,并为列名称添加.new后缀
  • 添加所有不需要操作的额外列和#34;&#34;

我尝试使用lapply并编写使用eval(parse( )的循环。

Evaluate expression given as a string

0 个答案:

没有答案