[julia-users] Is there a 'smooth.spline' function in Julia as in R? Thank you!
Is there a 'smooth.spline' function in Julia as in R? Thank you!
[julia-users] How to use multiplication or operation of three dimensional matrix, when change R code to Julia code? It is always error.
R code below changed to Julia code. It is always error. I do not know how to change R code below to Julia code correctly? Thank you. #R code forward - function(G.I,Tr,Pr) { n.samp - dim(G.I)[1] n.mark - dim(G.I)[2] F - G.I F[,1,] - sweep(G.I[,1,],2,Pr,*) for (i in 2:n.mark) { F[,i,] - G.I[,i,]*(F[,i-1,]%*%Tr) S - F[,i,1] + F[,i,2] + F[,i,3] F[,i,] - sweep(F[,i,],1,S,/) } return(F) } #error julia code function forward(GI::Array,Tr::Array,Pr::Array) nsamp = size(GI,1) nmark = size(GI,2) F = GI F[:,1,:] = broadcast(*,Pr,GI[:,1,:]) #error for i=2:nmark F[:,i,:] = GI[:,i,:].*(F[:,i-1,:]*Tr) #error S = F[:,i,1] + F[:,i,2] + F[:,i,3] #error F[:,i,:] = broadcast(/,S',F[:,i,:]) #error end return F end
[julia-users] How to write zero before decimal in julia, when output result to file? Thank you!
How to write zero before decimal in julia, when output result to file? As example, I use writedlm to output 0.324565, and I get .324565. Is there any package that can use output format like in c++ or Fortran?
[julia-users] How can I change R code to Julia code. It is always error. Thank you!
julia* GI* 4x8x3 Array{Float64,3}: [:, :, 1] = 0.250.250.250.250.125 0.125 0.125 0.25 0.250.125 0.0625 0.0625 0.125 0.125 0.0625 0.125 0.0625 0.250.125 0.250.0625 0.0625 0.250.125 0.125 0.0625 0.250.125 0.125 0.125 0.125 0.25 [:, :, 2] = 0.25 0.25 0.25 0.25 0.125 0.125 0.125 0.25 0.25 0.125 0.00.00.125 0.125 0.125 0.125 0.125 0.25 0.125 0.25 0.125 0.00.25 0.125 0.125 0.00.25 0.125 0.125 0.125 0.125 0.25 [:, :, 3] = 0.5 0.5 0.5 0.5 0.0 0.0 0.0 0.5 0.5 0.0 0.0 0.0 0.0 0.0 0.25 0.0 0.25 0.5 0.0 0.5 0.25 0.0 0.5 0.0 0.0 0.0 0.5 0.0 0.0 0.0 0.0 0.5 julia* Tr* 3x3 Array{Float64,2}: 0.998003 0.00199601 9.98002e-7 0.000998003 0.9980040.000998003 9.98002e-7 0.00199601 0.998003 julia *Pr* 1x3 Array{Float64,2}: 0.25 0.5 0.25 *Julia code:* * function forward(GI::Array,Tr::Array,Pr::Array)* *nsamp = size(GI,1)* *nmark = size(GI,2)* *F = GI* *F[:,1,:] = broadcast(*,Pr,GI[:,1,:])* *for i=2:nmark* * F[:,i,:] = GI[:,i,:].*(F[:,i-1,:]*Tr)* * S = F[:,i,1] + F[:,i,2] + F[:,i,3] * * F[:,i,:] = broadcast(/,S',F[:,i,:]) * * end* *return F[:,:,:]* * end* *R code:* *forward - function(G.I,Tr,Pr)* *{* *n.samp - dim(G.I)[1]* *n.mark - dim(G.I)[2]* *F - G.I* *F[,1,] - sweep(G.I[,1,],2,Pr,*)* *for (i in 2:n.mark)* *{* *F[,i,] - G.I[,i,]*(F[,i-1,]%*%Tr)* *S - F[,i,1] + F[,i,2] + F[,i,3]* *F[,i,] - sweep(F[,i,],1,S,/)* *}* *return(F)* *}* when it run, the error: julia* F[:,1,:] = broadcast(*,Pr,GI[:,1,:])* ERROR: DimensionMismatch(tried to assign 4x3x3 array to 4x1x3 destination) in throw_setindex_mismatch at operators.jl:233 (repeats 2 times) when i=2, error: julia* F[:,2,:] = GI[:,2,:].*(F[:,2-1,:]*Tr)* ERROR: `*` has no method matching *(::Array{Float64,3}, ::Array{Float64,2}) julia* F[:,2,:] = GI[:,2,:].*(F[:,2-1,:].*Tr)* ERROR: arrays could not be broadcast to a common size in broadcast_shape at broadcast.jl:40 in .* at broadcast.jl:278 How can I change the R code to Julia code? Thank you!
[julia-users] How can I change the R code to Julia code. Thank you.
Hello, I do not know how to change list() c(sib1,sib2) and a[[v]][inhe[[v]]==par] - par.al[[par]][inhe[[v]]==par] in R to julia code. It is error: ERROR: BoundsError() in getindex at array.jl:246 (repeats 2 times) #R code n.ped - nrow(sib1$pat) n.mark - ncol(sib1$pat) n.al - length(f) par.al - list() for(par in 1:4) par.al[[par]] - matrix(sample(1:n.al,n.ped*n.mark, replace=TRUE,prob=f),n.ped,n.mark) a - inhe - c(sib1,sib2) for (v in 1:4) for (par in 1:4) a[[v]][inhe[[v]]==par] - par.al[[par]][inhe[[v]]==par] ###julia code nped=size(sib1,1) nmark=size(sib1,2) nal=size(f,2) paral=Dict() for (par=1:4) paral[[par]]=reshape(wsample([1:nal],vec(f),nped*4*nmark),nped*4,nmark) end #a=inhe=hcat(sib1,sib2,sib3,sib4) a=inhe=(Sib1,Sib2,Sib3,Sib4) a=inhe=convert(DataFrame,a) println(mbjok) for (v=1:4) for(par=1:4) println(v,par) if inhe[[v]]==par a[v,inhe[v]]=paral[par,inhe[v]] end end end
[julia-users] How can I change the R code to Julia code. It is always error.Thank you!
Hello, I do not know how to list() c(sib1,sib2) and a[[v]][inhe[[v]]==par] - par.al[[par]][inhe[[v]]==par] in julia to julia code. It is error: ERROR: BoundsError() in getindex at array.jl:246 (repeats 2 times) #R code n.ped - nrow(sib1$pat) n.mark - ncol(sib1$pat) n.al - length(f) par.al - list() for(par in 1:4) par.al[[par]] - matrix(sample(1:n.al,n.ped*n.mark, replace=TRUE,prob=f),n.ped,n.mark) a - inhe - c(sib1,sib2) for (v in 1:4) for (par in 1:4) a[[v]][inhe[[v]]==par] - par.al[[par]][inhe[[v]]==par] ###julia code nped=size(sib1,1) nmark=size(sib1,2) nal=size(f,2) paral=Dict() for (par=1:4) paral[[par]]=reshape(wsample([1:nal],vec(f),nped*4*nmark),nped*4,nmark) end #a=inhe=hcat(sib1,sib2,sib3,sib4) a=inhe=(Sib1,Sib2,Sib3,Sib4) a=inhe=convert(DataFrame,a) println(mbjok) for (v=1:4) for(par=1:4) println(v,par) if inhe[[v]]==par a[v,inhe[v]]=paral[par,inhe[v]] end end end
[julia-users] Re: What reason is different result, when I change R code to Julia code? Thank you!
Perfect. Thank you for your help. 在 2015年7月29日星期三 UTC-5上午12:30:59,Tony Kelman写道: The reason is and | operators are bitwise in Julia, and have a higher precedence than == and !=. julia 1 == 1 3 == 3 false julia 1 == 1 3 == 3 true julia (1 == 1) (3 == 3) true julia 1 3 1 There are a few issues on this, combining the scalar bitwise and array-elementwise meanings into the same and | operators is not ideal and can lead to confusion here. When in doubt use extra parentheses around conditionals, and use or || for scalar comparisons.
[julia-users] What reason is different result, when I change R code to Julia code? Thank you!
#R code f=c(0.5,0.5) n.al - length(f) P.1 - P.2 - array(0,dim=rep(n.al,4)) for(a2 in 1:n.al) for(a1 in 1:n.al) for(a3 in 1:n.al) for(a4 in 1:n.al) { if (a1==a3 a2==a4) { P.2[a1,a2,a3,a4] - f[a1]*f[a2] P.1[a1,a2,a3,a4] - f[a1]*f[a2]*(f[a1]+f[a2])/2 } if (a1==a3 a2!=a4) { P.1[a1,a2,a3,a4] - f[a1]*f[a2]*f[a4]/2 } if (a1!=a3 a2==a4) { P.1[a1,a2,a3,a4] - f[a1]*f[a3]*f[a2]/2 } } #julia code f=Array(Float64,1,2) f[:,:]=0.5 p1=Array(Float64,nal,nal,nal,nal) p2=Array(Float64,nal,nal,nal,nal) p1[:,:,:,:]=0.0 p2[:,:,:,:]=0.0 for (a2 = 1:nal) for (a1 = 1:nal) for (a3 = 1:nal) for (a4 = 1:nal) if (a1==a3 a2==a4) p2[a1,a2,a3,a4] = f[a1]*f[a2] p1[a1,a2,a3,a4] = f[a1]*f[a2]*(f[a1]+f[a2])/2.0 end if (a1==a3 a2!=a4) p1[a1,a2,a3,a4] = f[a1]*f[a2]*f[a4]/2.0 end if (a1!=a3 a2==a4) p1[a1,a2,a3,a4] = f[a1]*f[a3]*f[a2]/2.0 end end end end end https://lh3.googleusercontent.com/-V-fR1Z3wCS0/VbhSoLSjSjI/AAM/rNp8Wb1-wk8/s1600/Untitled.png #R code f=c(0.5,0.5) n.al - length(f) P.1 - P.2 - array(0,dim=rep(n.al,4)) for(a2 in 1:n.al) for(a1 in 1:n.al) for(a3 in 1:n.al) for(a4 in 1:n.al) { if (a1==a3 a2==a4) { P.2[a1,a2,a3,a4] - f[a1]*f[a2] P.1[a1,a2,a3,a4] - f[a1]*f[a2]*(f[a1]+f[a2])/2 } if (a1==a3 a2!=a4) { P.1[a1,a2,a3,a4] - f[a1]*f[a2]*f[a4]/2 } if (a1!=a3 a2==a4) { P.1[a1,a2,a3,a4] - f[a1]*f[a3]*f[a2]/2 } } #julia code f=Array(Float64,1,2) f[:,:]=0.5 p1=Array(Float64,nal,nal,nal,nal) p2=Array(Float64,nal,nal,nal,nal) p1[:,:,:,:]=0.0 p2[:,:,:,:]=0.0 for (a2 = 1:nal) for (a1 = 1:nal) for (a3 = 1:nal) for (a4 = 1:nal) if (a1==a3 a2==a4) p2[a1,a2,a3,a4] = f[a1]*f[a2] p1[a1,a2,a3,a4] = f[a1]*f[a2]*(f[a1]+f[a2])/2.0 end if (a1==a3 a2!=a4) p1[a1,a2,a3,a4] = f[a1]*f[a2]*f[a4]/2.0 end if (a1!=a3 a2==a4) p1[a1,a2,a3,a4] = f[a1]*f[a3]*f[a2]/2.0 end end end end end