R-返回矩阵
我试图从函数返回一个矩阵,但无法理解为什么会返回错误R-返回矩阵,r,function,matrix,return,R,Function,Matrix,Return,我试图从函数返回一个矩阵,但无法理解为什么会返回错误 rdMatrix <- function (value = 0) { x <- diag(value) get <- function() return(x) x } 谁能告诉我这里少了什么 感谢和问候, 巴拉吉也许你的目标是: rdMatrix <- local({ get <- function() return(x) x <- NULL functio
rdMatrix <- function (value = 0) {
x <- diag(value)
get <- function() return(x)
x
}
谁能告诉我这里少了什么
感谢和问候,
巴拉吉也许你的目标是:
rdMatrix <- local({
get <- function() return(x)
x <- NULL
function (value = 0) {
x <<- diag(value)
x
}
})
rdMatrix(5)
environment(rdMatrix)$get()
rdMatrix为什么有返回的函数?Return的意思是“立即停止并返回()
中的任何内容”。调用后,函数立即终止。我正在尝试返回矩阵,这是我的另一个项目的测试函数。我的目的是让rdMatrix$get()返回x。rdMatrix()$get:rdMatrix()中的错误$get:$运算符对于原子向量无效。它不起作用,你可以更改名称,但仍然是相同的错误,你不知道你想做什么,但也许这就足够了rdMatrix如果您只想返回矩阵,为什么不return(x)
而不是获取感谢!是否可以不使用set()进行初始化?就像rdMatrix(3)而不是rdMatrix$set(3),有什么区别?如何修改此函数以实现此目的?短暂性脑缺血发作
rdMatrix <- local({
get <- function() return(x)
x <- NULL
function (value = 0) {
x <<- diag(value)
x
}
})
rdMatrix(5)
environment(rdMatrix)$get()
rdMatrix <- local({
x <- NULL
list(get=function() return(x),
set=function(value=0) {
x <<- diag(value)
})
})
rdMatrix$set(3)
rdMatrix$get()