【发布时间】:2018-02-13 19:22:59
【问题描述】:
我正在尝试创建一个将我的数据导入 R 的函数。每当我调用此函数时,虽然它会运行但我在任何地方都看不到我的数据集
inputData <- function(){
teams <- read.csv('C:/Users/BT_1N3_24/Desktop/PremierLeaguePlayers.csv', header = TRUE)
currentTeam <- read.csv('C:/Users/BT_1N3_24/Desktop/TeamStats.csv', header = TRUE)
}
【问题讨论】:
-
在 R 中,从广义上讲,函数创建自己的环境,函数内部的变量仅限于该环境。您应该将这些行放在函数之外,以使对象
teams和currentTeam出现在全局环境中。 -
所以我不能通过函数或类似的东西使它们成为全局变量?
-
您可以使用
<<-而不是<-,但这是非常糟糕的形式并且不像R。如果您返回要加载的 data.frames 列表,会容易得多。 -
就这个功能而言,你可以做
currentTeam <- inputData()并在全局环境中创建一个currentTeam对象。除非另有说明,否则函数默认返回最后一行。如果出于某种原因需要在函数中使用这些行,则可以创建一个包含数据对象的列表并返回该列表。为什么你需要在函数中使用它? -
如果您使用运算符
<<-而不是<-,则可以将其设为全局变量。尝试以这种方式分配它teams <<- read.csv(.....)
标签: r