如何使用函数并从函数中获取结果?

时间:2015-08-05 09:01:19

标签: r

我在R中有以下代码,它创建了一个名称向量(Team 1,Team 2等......)。

  creatingTeam <- function() {

  names = c()

for (i in 1:10){
var = i
x <- paste0("team", var, sep=" ")
names <- append(names, x)
}
  print(names)

  }

一切正常但是当我想在我的R控制台中使用它时我得到了这个:

 > names
 function (x)  .Primitive("names")

有人能告诉我如何编写函数以便我可以访问变量吗?

2 个答案:

答案 0 :(得分:0)

假设您的代码是一个示例问题,而不是您真正想要做的事情(如果它是Mamoun的回答)。你混淆了这个功能并重复了一些步骤。你的函数应该是个案,然后你可以循环函数。

这是一个整理:

创建功能

creatingTeam <- function(i) {
    paste("team", i)
}

R是一种矢量化语言,因此您通常不需要专门表达循环。您可以通过以下几种方式重复您的功能

team.names <- creatingTeam(1:10)
team.names <- sapply(1:10, creatingTeam)

您的team.names矢量现在有10个字符元素(团队1,团队2,...),您可以team.namesteam.names[5]个别元素访问这些元素(对于第五个要素)。

你也可以使用for循环重复你的函数,但是你已经尝试了它的几行代码来让它写入一个向量。

答案 1 :(得分:0)

when you call the function in R, assign it to a new variable, like this:

> newVariable <- creatingTeam()

Now the next time you call newVariable it will display your "team" AS LONG AS the very last line in your function is names, R functions return whatever the last line of the function is.

Now when you call newVariable it will display the contents of names, giving you access to your team as a character vector.