我想编写一个对不同data.frames运行相同分析的函数。这是我的代码的简单版本:
set1 <- data.frame(x=c(1,2,4,6,2), y=c(4,6,3,56,4))
set2 <- data.frame(x=c(3,2,3,8,2), y=c(2,6,3,6,3))
mydata <- c("set1", "set2")
for (dataCount in 1:length(data)) {
lm(x~y, data=mydata)
}
如何在函数内通过名称调用data.frame?现在,“ data”显然仅返回“ mydata”的名称作为字符。
有许多方法可以做到这一点。您的“本地”方式是
mydata <- ls(pattern = "set")
for (dataCount in mydata) {
print(summary(lm(x~y, data=get(dataCount))))
}
或者您可以将data.frames整理到一个列表中并进行处理。
mylist <- list(set1, set2)
lapply(mylist, FUN = function(yourdata) {
print(summary(lm(x ~ y, data = yourdata)))
})
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句