我在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")
有人能告诉我如何编写函数以便我可以访问变量吗?
答案 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.names
或team.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.