Displaying 20 results from an estimated 4000 matches similar to: "How to get the pseudo left inverse of a singular square m atrix?"
2004 Feb 06
1
How to get the pseudo left inverse of a singular squarem atrix?
>I'm rusty, but not *that* rusty here, I hope.
>
>If W (=Z*Z' in your case) is singular, it can not
have >inverse, which by
>definition also mean that nothing multiply by it will
>produce the identity
>matrix (for otherwise it would have an inverse and
>thus nonsingular).
>
>The definition of a generalized inverse is something
>like: If A is a
>non-null
2003 Aug 14
2
How to get the pseudo left inverse of a singular square matrix?
Dear R-listers,
I have a dxr matrix Z, where d > r.
And the product Z*Z' is a singular square matrix.
The problem is how to get the left inverse U of this
singular matrix Z*Z', such that
U*(Z*Z') = I?
Is there any to figure it out using matrix decomposition method?
Thanks a lot for your help.
Fred
2003 Aug 07
2
segmentation fault: formula() with long variable names (PR#3680)
R version: 1.7.1
OS: Red Hat Linux 7.2
In this example, I would expect an error for the overly long variable
name. This is always reproducable for me.
> formula(paste("y~",paste(rep("x",50000),collapse="")))
Segmentation fault
Sincerely,
Jerome Asselin
--
Jerome Asselin (Jérôme), Statistical Analyst
British Columbia Centre for Excellence in HIV/AIDS
St.
2003 Feb 27
2
interval-censored data in survreg()
I am trying to fit a lognormal distribution on interval-censored
data. Some of my intervals have a lower bound of zero.
Unfortunately, it seems like survreg() cannot deal with lower
bounds of zero, despite the fact that plnorm(0)==0 and
pnorm(-Inf)==0 are well defined. Below is a short example to
reproduce the problem.
Does anyone know why survreg() must behave that way?
Is there an alternate
2003 May 21
1
axis() default values for "lty", "lwd", and "col"
Hi,
I would like to recommend a minor modification in axis() which I believe
can simplify the making of plots for publications. I am trying to define
default values for par() in order to make labels bigger and lines thicker,
so that the resulting plots look good when resized for publication
purposes. I ran into the following problem...
axis() does not use par() values as default for
2003 Aug 08
1
covmat argument in princomp() (PR#3682)
R version: 1.7.1
OS: Red Hat Linux 7.2
When "covmat" is supplied in princomp(), the output value "center" is all
NA's, even though the input matrix was indeed centered. I haven't read
anything about this in the help file for princomp(). See code below for an
example: pc2$center is all NA's.
Jerome Asselin
x <- rnorm(6)
y <- rnorm(6)
X <- cbind(x,y)
2003 May 07
0
frailty models in survreg() -- survival package (PR#2933)
I am confused on how the log-likelihood is calculated in a parametric
survival problem with frailty. I see a contradiction in the frailty() help
file vs. the source code of frailty.gamma(), frailty.gaussian() and
frailty.t().
The function frailty.gaussian() appears to calculate the penalty as the
negative log-density of independent Gaussian variables, as one would
expect:
>
2003 Jul 04
0
degrees of freedom in nlme() (PR#2384)
I would like to document my findings (with a potential FIX) regarding the
issue of calculation of the degrees of freedom with nlme().
The program given at the bottom of this email generates and fit 20 data
sets with a mixed-effects LINEAR model, but using the function nlme()
instead of lme(). In each case, the correct number of degrees of freedom
for the intercept parameter is 12. However, in
2003 Jun 05
2
Fwd: Re: legend() with option adj=1
Is there a simpler way then the solution to the one that was posted here? I'm
not very proficient with legend, and I don't understand this solution. All
I have is two or more lines on one plot that I want to put a legend on and I
can't figure out how to do it from the examples. Can you give a very simple
example? It does not have to be fancy!! I have never worked with a
2003 May 20
1
legend() with option adj=1
Hi there,
I want to justify to right the text of my legend. Consider this short
reproducable example.
x <- 1:5
y1 <- 1/x
y2 <- 2/x
plot(rep(x,2),c(y1,y2),type="n",xlab="x",ylab="y")
lines(x,y1)
lines(x,y2,lty=2)
legend(5,2,c("1,000","1,000,000"),lty=1:2,xjust=1,yjust=1)
2004 Mar 25
1
g-inverse question
I am using the ginv function from MASS and have run across this problem
that I do not understand. If I define the matrix A as below, its
g-inverse does not satisfy the Moore-Penrose condition
A %*% ginv(A) %*% A = A.
The matrix A is X'WX in a quadratic regression using some very large
dollar values.
The much simpler matrix B does satisfy the MP condition. Am I doing
something wrong? Is
2003 Aug 30
3
fisher.test() gives wrong confidence interval (PR#4019)
The problem occurs when the sample odds ratio is Inf, such as in the
following example. Given the fact that both upper bounds of the two 95%
confidence intervals are Inf, I would have expected that the two lower
bounds be equal, but they aren't.
x <- matrix(c(9,4,0,2),2,2)
x
# [,1] [,2]
#[1,] 9 0
#[2,] 4 2
rbind("two.sided.95CI"=fisher.test(x)$conf.int,
2003 Aug 07
2
model.frame() call from inside a function (PR#3671)
R version: 1.7.1
OS: Red Hat Linux 7.2
Hi all,
The formula object in model.frame() is not retrieved properly when
model.frame() is called from within a function and the "subset" argument
is supplied.
foo <- function(formula,data,subset=NULL)
{
cat("\n*****Does formula[-3] == ~y ?**** TRUE *****\n")
print(formula[-3] == ~y)
cat("\n*****Result of model.frame()
2003 Aug 15
0
Is it possible to separate two independent components from arandom variable?
Dear Fred,
If x1 and x2 are *not* normally distributed, you can use
independent component analysis (ICA) which is based on the
idea that x will be "more normal" than either x1 and x2
following the central limit theorem. See package(fastICA)
by JL Marchini, C Heaton, and BD Ripley for details.
HTH
Thomas
> -----Original Message-----
> From: Feng Zhang [mailto:f0z6305 at
2001 Oct 18
0
General Matrix Inverse
Generalised Inverse:
The Moore-Penrose Generalisied Inverse is probably better defined as a
pseudo-Inverse that arises in solving least squares problems.
Another well known pseudo-Inverse is the so-called Drazin pseudo-Inverse.
If memory serves (and it's been 10-12 years!) it can be obtained via a
diagonalisation.
Anyway, I dare say Prof. Ripley (among others) probably has "all the
2001 Oct 18
1
AW: General Matrix Inverse
Thorsten is right. There is a direct formula for computing the Moore-Penrose
inverse
using the singular value composition of a matrix. This is incorporated in
the following:
mpinv <- function(A, eps = 1e-13) {
s <- svd(A)
e <- s$d
e[e > eps] <- 1/e[e > eps]
return(s$v %*% diag(e) %*% t(s$u))
}
Hope it helps.
Dietrich
2003 Aug 04
0
Windows 2000 Bug in GMT +/- n Timezones (PR#3644)
Tracking down this bug was joint work with Jermoe Asselin (jerome at
hivnet.ubc.ca) and Patrick Connolly (p.connolly at hortresearch.co.nz). We
collectively were able to determine that this is a problem in Windows 2000
but not in Linux.
Timezones of the form GMT-5, GMT+3, etc. do not work properly in Windows 2000
for nearby dates in daylight savings time although they do work for nearby
dates
2003 Jul 15
2
"na.action" parameter in princomp() (PR#3481)
Full_Name: Jerome Asselin
Version: 1.7.1
OS: Red Hat Linux 7.2
Submission from: (NULL) (24.77.125.119)
Setting the parameter na.action=na.omit should remove
incomplete records in princomp. However this does not
seem to work as expected. See example below.
Sincerely,
Jerome Asselin
data(USArrests)
princomp(USArrests, cor = TRUE) #THIS WORKS
USArrests[1,3] <- NA
princomp(USArrests, cor =
2002 Nov 22
1
Segmentation fault using "survival" package (PR#2320)
Full_Name: Jerome Asselin
Version: 1.6.1
OS: RedHat Linux 7.2
Submission from: (NULL) (142.103.173.179)
Hello,
I get a segmentation fault when I run the following code. I wouldn't expect
meaningful results because my response variable contains only missing values.
However, I would expect something like a regular error (not a segmentation
fault).
library(survival)
data <-
2003 Mar 12
1
plot() with type="s" and lty=2 (PR#2630)
Full_Name: Jerome Asselin
Version: 1.6.2
OS: RedHat Linux 7.2
Submission from: (NULL) (142.103.173.179)
In the following example, the line type lty=2 does not show properly
across the entire line.
x <- c(seq(0,.5,.001),seq(.6,1,.1))
y <- rep(1,length(x))
plot(x,y,type="s",lty=2)
Sincerely,
Jerome Asselin