我正在尝试编写一个R脚本,要求用户输入一个将被存储以供以后使用的数字。我正在努力存储价值。以下是我写的内容。
numberOfStudents <- function()
{
s <- readline("How many incoming students are there? ")
return(as.integer(s))
}
print(numberOfStudents())
print(s)
如果我在运行print(numberOfStudents())后将500存储为值,则print(s)将返回“print(s)中的错误:找不到对象”。
有什么建议吗?
答案 0 :(得分:1)
你快到了。
问题是您将输入保存在函数内部的变量中,并将其打印出来,但您从未明确告诉函数将变量保存到外部世界。
函数numberOfStudents位于您当前的环境中。所以你可能会考虑一些事情,但最好的办法是将一个值返回到当前环境并分配它。
numberOfStudents <- function()
{
s <- readline("How many incoming students are there? ")
return(as.integer(s))
}
print(numberOfStudents())
现在你可以调用你的函数,将它设置为某个值,该值将在函数之外持续存在
newStudentList<-numberOfStudents() # you have saved your function output to this variable
请记住,您始终需要将函数的结果设置为等于当前环境中的某些内容才能捕获它。如果运行sd()而不将其设置为等于变量,它也会打印标准偏差,但您无法访问该值。
x<-sd(samples) #will return a values saved to x