簡體   English   中英

如何通過名稱調用R函數中的data.frame

[英]How to call a data.frame inside an R Function by name

我想編寫一個在不同的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)))
})

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM