HI, Michael,

Sorry for my numb, I have one more question.

When you use function(x){any (x != 10), here x is a vector, x!=10 will give
a vector of logical value, right?

If it is, how can vector be compared to a scale, 10 in this case?

Thanks!




On Mon, Aug 22, 2011 at 10:16 AM, R. Michael Weylandt <
michael.weyla...@gmail.com> wrote:

> This isn't the most beautiful code, but I think it should work for you:
>
> # Some sample data
> M =
> cbind(matrix(rnorm(10),ncol=2),matrix(sample(c(10,1),15,replace=T),ncol=3))
> colnames(M) = c("Thing1","Thing2",paste("array",1:3,sep=""))
>
> colsToCheck = grepl("array",colnames(M)) # Isolate the "array" columns
> rowsToKeep = apply(M[,colsToCheck],1,function(x){any (x != 10)})
> # apply the test function row-wise to get a logical vector of which rows to
> keep
>
> Answer = M[rowsToKeep,] # keep only those rows
>
> Hope this helps,
>
> Michael
>
>
> On Mon, Aug 22, 2011 at 12:56 PM, Changbin Du <changb...@gmail.com> wrote:
>
>> HI, Michael,
>>
>> What I want to do is remove all the rows, for which array1, array2,
>> ..array15 are all equal to 10.
>>
>> I want to keep all the rows at least one of the array variables are not
>> equal to 10.
>>
>> sorry for the confusion.
>>
>>
>>
>>
>>
>> On Mon, Aug 22, 2011 at 9:52 AM, R. Michael Weylandt <
>> michael.weyla...@gmail.com> wrote:
>>
>>> "I want to select the array columns that are not equal to 10." is
>>> ambiguous to me.
>>>
>>> Just to clarify, do you want to simply drop the column named array10 or
>>> do you want to check each column for having one/all 10's as values and drop
>>> based on that test?
>>>
>>> Michael
>>>
>>> On Mon, Aug 22, 2011 at 12:35 PM, Changbin Du <changb...@gmail.com>wrote:
>>>
>>>> Dear R community,
>>>>
>>>> I have a data set like the following:
>>>>
>>>>  probe_name chr_id  position array1 array2 array3 array4 array5 array6
>>>> array7
>>>> 1    C-3AAAA     10  16566949     10     10     10     10     10     10
>>>> 10
>>>> 2    C-3AAAB     17  33478940     10     10     10     10     10     10
>>>> 10
>>>> 3    C-3AAAC      3 187369224     10     10     2     10     10     1
>>>>   10
>>>> 4    C-3AAAD      8  28375041     10     10     10     10     10     10
>>>> 10
>>>> 5    C-3AAAG     13  99134921     10     10     10     10     10     10
>>>> 10
>>>> 6    C-3AAAH     16  31565412     10     10     10     10     10     10
>>>> 10
>>>>  array8 array9 array10 array11 array12 array13 array14 array15
>>>> 1     10     10      10      10      10      10      10      10
>>>> 2     10     10      10      10      10      10      10      10
>>>> 3     10     10      10      10      10      10      10      10
>>>> 4     10     10      10      10      10      10      10      10
>>>> 5     10     10      10      10      10      1      10      10
>>>> 6     10     10      10      0      10      10      10      10
>>>>
>>>> I want to select the array columns that are not equal to 10.
>>>>
>>>> I tried the following codes:
>>>>
>>>> head(reduce.final<-final[which(final$array*!=10), ])     # it does not
>>>> wok,
>>>> do any one have a smart to do this?
>>>>
>>>> Thanks so much!
>>>>
>>>>
>>>> --
>>>> Sincerely,
>>>> Changbin
>>>> --
>>>>
>>>>        [[alternative HTML version deleted]]
>>>>
>>>> ______________________________________________
>>>> 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.
>>>>
>>>
>>>
>>
>>
>> --
>> Sincerely,
>> Changbin
>> --
>>
>>
>


-- 
Sincerely,
Changbin
--

        [[alternative HTML version deleted]]

______________________________________________
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