如何解决迭代 R 数据框对象并添加一列
我有许多数据帧作为以前缀和数字命名的 R 对象。每个数据框的列名和编号与行名相同。
我正在尝试根据对象迭代添加一列。我正在尝试以下操作:
x <- 1
repeat{
get(paste0('prefix',x))$iteration <- x-1
x = x + 1
}
但是,我收到以下错误:
target of assignment expands to non-language object
您能否解释为什么这不起作用并提出解决方案?
谢谢。
解决方法
获取以'prefix'开头后跟任意数字的对象的值到list
('lst1')中,然后使用Map
通过从数字部分减去1来创建一个新列对象名('v1'),用list2env
反映全局env中原始对象的变化
lst1 <- mget(ls(pattern = '^prefix\\d+$'))
v1 <- as.numeric(sub("prefix","",names(lst1))) -1
lst1 <- Map(cbind,lst1,iteration = v1)
list2env(lst1,.GlobalEnv)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。