首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >$使用snowFall时出现的问题

$使用snowFall时出现的问题
EN

Stack Overflow用户
提问于 2013-12-07 04:32:57
回答 1查看 84关注 0票数 0

我正在尝试使用snowFall来使用集群来加速我的代码。我的代码的简化版本应该是

代码语言:javascript
复制
library(snowfall)
pbsnodefile = Sys.getenv("PBS_NODEFILE")
machines <- scan(pbsnodefile, what="")
machines
nmach = length(machines)
nmach

sfInit(parallel=TRUE,type='SOCK',cpus=nmach,socketHosts=machines)

examp <- function(W,Y){       
    guess=lm(Y~W)
    return(guess$coef)
}

makedat <- function(N){
###Generating a dataset.
#Covariate vector
W <- mvrnorm(N,mu = rep(0,2),Sigma = matrix(c(1,0.8,0.8,1),nrow = 2))
Y <- rnorm(N)  
result <- data.frame(W = W,Y= Y)
return(result)
}

sfExport("examp")                                                                                                                    
sfExport("makedat") 
sfLibrary(MASS)


wrapper <- function(sim){
data <- makedat(100)
result <- examp(W = cbind(data[,1],data[,2]),Y = data[,3])
return(result)
}

nSim <- 2

result = sfLapply(1:nSim,wrapper)
save(result)

sfStop()

这样做的目的是只输出lm对象的系数(猜测$coef),但我得到的输出是整个lm对象。因此,在我看来,$不起作用。稍后在我的代码中(不包括在这里,我遇到了同样的问题,即$似乎不起作用)。我们非常感谢所有的建议。

EN

回答 1

Stack Overflow用户

发布于 2013-12-07 06:38:26

如果你只是想从模型中得到系数,你可以使用:

代码语言:javascript
复制
coef(guess)[2] 

它将检索第二个系数,即斜率。

后续评论(我是新来的,所以不确定我是否真的在这里添加了新的信息到一个单独的但有点相关的问题中,所以如果我做错了,请告诉我!)对于操作员:

我发现首先将某物作为一个对象来理解其结构会更容易一些。遵循?nlm()中的示例:

代码语言:javascript
复制
f <- function(x) sum((x-1:length(x))^2)
nlm(f, c(10,10))
nlm(f, c(10,10), print.level = 2)
utils::str(nlm(f, c(5), hessian = TRUE))

f <- function(x, a) sum((x-a)^2)
nlm(f, c(10,10), a = c(3,5))
f <- function(x, a)
{
res <- sum((x-a)^2)
attr(res, "gradient") <- 2*(x-a)
res
}
nlm(f, c(10,10), a = c(3,5))

###HOW TO ACCESS THE ESTIMATE###
#making the nlm() output an object:
nlm.obj<- nlm(f, c(10,10), a = c(3,5))
#checking the structure
str(nlm.obj) #a list
nlm.obj[[2]]  #accessing estimate
nlm.obj[[2]][1] #accessing the first value within the estimate

任何人,请评论这个答案的质量,这样我可以在未来以更好的方式提供帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20433058

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档