我想通过使用for循环来压缩我的代码。目前,我有以下内容:
log.1 = log(canine.dg.16.1$claimedamountSum)
log.2 = log(canine.dg.16.2$claimedamountSum)
log.3 = log(canine.dg.16.3$claimedamountSum)
等对于1:36
有没有办法没有36行代码,而是有一个for循环,它将对每个数据帧(1:36)重复此过程?
答案 0 :(得分:3)
我们可以将数据集放入list
并将代码应用于list
lst1 <- lapply(mget(ls(pattern = "canine\\.dg\\.16\\.\\d+$")), function(x)
log(x$claimedamountSum))
与其在全局环境中创建多个对象,不如将输出存储在list