On 03/10/2008 12:40 AM, Jason Lee wrote:
Hi Duncan, Mark and all,

Thanks for the suggestion. I ve tried the below suggestion.

I got this error now

Error in `[<-.data.frame`(`*tmp*`, , x, value = NULL) :
  new columns would leave holes after existing columns

Its weird as I try to assign NULL manually and its not complaining anything.
When I put that on a loop, it gives me the above error.

The problem is that assigning NULL to a list entry is the way you delete that entry. Your filterpred is a dataframe, which is a list. Assigning NULL to column 1 would delete column 1, changing the number of every following column. Then eventually when you try to assign something to a later column it won't be allowed because you can't have gaps.

If it's really your intention to delete columns, you could avoid the error by starting at the highest one and working backwards, i.e. having your loop look like

for (x in ncol(filterpred):1) ...

Duncan Murdoch


Please advise. Thanks.

On Fri, Oct 3, 2008 at 1:57 PM, Duncan Murdoch <[EMAIL PROTECTED]> wrote:

On 02/10/2008 10:07 PM, Jason Lee wrote:

Hi,

I came across the below error when I try to do ifelse condition:-

Error in "[<-"(`*tmp*`, test, value = rep(yes, length =
length(ans))[test])
:
       incompatible types

What I am trying to accomplish is :-

for(x in 1:ncol(filterpred)){

sumno<-sum(filterpred[no,x])
sumyes<-sum(filterpred[yes,x])

ifelse(sumno==0 && sumyes !=0,
filterpred[,x]<-NULL,filterpred[,x]<-filterpred[,x])
}

Anything wrong here?

You want to use if .. else .., not ifelse.  ifelse() is a function that
takes a vector of logical values, and produces a vector of answers, not a
way to control program flow.

It almost never makes sense to use && in ifelse(), because && always
produces a scalar, not a vector.  I think what you want is to replace the
ifelse() call with

if (sumno==0 && sumyes !=0) {
 filterpred[,x]<-NULL
} else {
 filterpred[,x]<-filterpred[,x])
}

Duncan Murdoch



______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to