Error when using sobolSmthSpl function in R
up vote
0
down vote
favorite
I'm trying to use the sensitivity package to calculate sobol sensitivity indices from my parameters and model outputs. This function sobolSmthSpl in the package is supposed to do this but I just keep getting the error
Error: $ operator is invalid for atomic vectors
In addition: Warning message:
In parallel::mclapply(1:ncol(Y), function(i) smooth.spline(X[, i], :
all scheduled cores encountered errors in user code*
I've made the classes of the variables the same to the example, but just can't get rid of the error. Has anyone used this function before or have met a similar problem?
Here is the code of the function
function (Y, X)
{
ANS = list()
ANS[["call"]] = match.call()
ANS[["X"]] = X
ANS[["Y"]] = Y
par.names = colnames(X)
if (is.null(colnames(X)))
par.names = paste0("X", 1:ncol(X))
X = normalize(X)
Y = Y - mean(Y)
Y = sapply(1:ncol(X), function(i) return(Y[order(X[, i])]))
X = sapply(1:ncol(X), function(i) return(X[order(X[, i]),
i]))
SMTH = optSmooth(Y, X, c(-2, 2))
SA.tab = t(sapply(SMTH, est.Si))
colnames(SA.tab) = c("Si", "se", "q0.05")
rownames(SA.tab) = par.names
ANS[["S"]] = SA.tab
class(ANS) = "sobolSmthSpl"
return(ANS)
}
r
add a comment |
up vote
0
down vote
favorite
I'm trying to use the sensitivity package to calculate sobol sensitivity indices from my parameters and model outputs. This function sobolSmthSpl in the package is supposed to do this but I just keep getting the error
Error: $ operator is invalid for atomic vectors
In addition: Warning message:
In parallel::mclapply(1:ncol(Y), function(i) smooth.spline(X[, i], :
all scheduled cores encountered errors in user code*
I've made the classes of the variables the same to the example, but just can't get rid of the error. Has anyone used this function before or have met a similar problem?
Here is the code of the function
function (Y, X)
{
ANS = list()
ANS[["call"]] = match.call()
ANS[["X"]] = X
ANS[["Y"]] = Y
par.names = colnames(X)
if (is.null(colnames(X)))
par.names = paste0("X", 1:ncol(X))
X = normalize(X)
Y = Y - mean(Y)
Y = sapply(1:ncol(X), function(i) return(Y[order(X[, i])]))
X = sapply(1:ncol(X), function(i) return(X[order(X[, i]),
i]))
SMTH = optSmooth(Y, X, c(-2, 2))
SA.tab = t(sapply(SMTH, est.Si))
colnames(SA.tab) = c("Si", "se", "q0.05")
rownames(SA.tab) = par.names
ANS[["S"]] = SA.tab
class(ANS) = "sobolSmthSpl"
return(ANS)
}
r
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
I'm trying to use the sensitivity package to calculate sobol sensitivity indices from my parameters and model outputs. This function sobolSmthSpl in the package is supposed to do this but I just keep getting the error
Error: $ operator is invalid for atomic vectors
In addition: Warning message:
In parallel::mclapply(1:ncol(Y), function(i) smooth.spline(X[, i], :
all scheduled cores encountered errors in user code*
I've made the classes of the variables the same to the example, but just can't get rid of the error. Has anyone used this function before or have met a similar problem?
Here is the code of the function
function (Y, X)
{
ANS = list()
ANS[["call"]] = match.call()
ANS[["X"]] = X
ANS[["Y"]] = Y
par.names = colnames(X)
if (is.null(colnames(X)))
par.names = paste0("X", 1:ncol(X))
X = normalize(X)
Y = Y - mean(Y)
Y = sapply(1:ncol(X), function(i) return(Y[order(X[, i])]))
X = sapply(1:ncol(X), function(i) return(X[order(X[, i]),
i]))
SMTH = optSmooth(Y, X, c(-2, 2))
SA.tab = t(sapply(SMTH, est.Si))
colnames(SA.tab) = c("Si", "se", "q0.05")
rownames(SA.tab) = par.names
ANS[["S"]] = SA.tab
class(ANS) = "sobolSmthSpl"
return(ANS)
}
r
I'm trying to use the sensitivity package to calculate sobol sensitivity indices from my parameters and model outputs. This function sobolSmthSpl in the package is supposed to do this but I just keep getting the error
Error: $ operator is invalid for atomic vectors
In addition: Warning message:
In parallel::mclapply(1:ncol(Y), function(i) smooth.spline(X[, i], :
all scheduled cores encountered errors in user code*
I've made the classes of the variables the same to the example, but just can't get rid of the error. Has anyone used this function before or have met a similar problem?
Here is the code of the function
function (Y, X)
{
ANS = list()
ANS[["call"]] = match.call()
ANS[["X"]] = X
ANS[["Y"]] = Y
par.names = colnames(X)
if (is.null(colnames(X)))
par.names = paste0("X", 1:ncol(X))
X = normalize(X)
Y = Y - mean(Y)
Y = sapply(1:ncol(X), function(i) return(Y[order(X[, i])]))
X = sapply(1:ncol(X), function(i) return(X[order(X[, i]),
i]))
SMTH = optSmooth(Y, X, c(-2, 2))
SA.tab = t(sapply(SMTH, est.Si))
colnames(SA.tab) = c("Si", "se", "q0.05")
rownames(SA.tab) = par.names
ANS[["S"]] = SA.tab
class(ANS) = "sobolSmthSpl"
return(ANS)
}
r
r
asked Nov 10 at 20:40
Mingyang Guo
143
143
add a comment |
add a comment |
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53243200%2ferror-when-using-sobolsmthspl-function-in-r%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown