> On Oct 25, 2017, at 11:17 AM, David Winsemius <dwinsem...@comcast.net> wrote:
> 
> 
>> On Oct 25, 2017, at 6:57 AM, BooBoo <boo...@gforcecable.com> wrote:
>> 
>> On 10/25/2017 4:38 AM, Ista Zahn wrote:
>>> On Tue, Oct 24, 2017 at 3:05 PM, BooBoo <boo...@gforcecable.com> wrote:
>>>> This has every appearance of being a bug. If it is not a bug, can someone
>>>> tell me what I am asking for when I ask for "x[x[,2]==0,]". Thanks.
>>> You are asking for elements of x where the second column is equal to zero.
>>> 
>>> help("==")
>>> 
>>> and
>>> 
>>> help("[")
>>> 
>>> explain what happens when missing values are involved. I agree that
>>> the behavior is surprising, but your first instinct when you discover
>>> something surprising should be to read the documentation, not to post
>>> to this list. After having read the documentation you may post back
>>> here if anything remains unclear.
>>> 
>>> Best,
>>> Ista
>>> 
>>>>> #here is the toy dataset
>>>>> x <- rbind(c(1,1),c(2,2),c(3,3),c(4,0),c(5,0),c(6,NA),
>>>> +   c(7,NA),c(8,NA),c(9,NA),c(10,NA)
>>>> + )
>>>>> x
>>>>      [,1] [,2]
>>>> [1,]    1    1
>>>> [2,]    2    2
>>>> [3,]    3    3
>>>> [4,]    4    0
>>>> [5,]    5    0
>>>> [6,]    6   NA
>>>> [7,]    7   NA
>>>> [8,]    8   NA
>>>> [9,]    9   NA
>>>> [10,]   10   NA
>>>>> #it contains rows that have NA's
>>>>> x[is.na(x[,2]),]
>>>>     [,1] [,2]
>>>> [1,]    6   NA
>>>> [2,]    7   NA
>>>> [3,]    8   NA
>>>> [4,]    9   NA
>>>> [5,]   10   NA
>>>>> #seems like an unreasonable answer to a reasonable question
>>>>> x[x[,2]==0,]
>>>>     [,1] [,2]
>>>> [1,]    4    0
>>>> [2,]    5    0
>>>> [3,]   NA   NA
>>>> [4,]   NA   NA
>>>> [5,]   NA   NA
>>>> [6,]   NA   NA
>>>> [7,]   NA   NA
>>>>> #this is more what I was expecting
>>>>> x[which(x[,2]==0),]
>>>>     [,1] [,2]
>>>> [1,]    4    0
>>>> [2,]    5    0
>>>> ______________________________________________
>>>> R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
>>>> 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.
>> 
>> I wanted to know if this was a bug so that I could report it if so. You say 
>> it is not, so you answered my question. As far as me not reading the 
>> documentation, I challenge anyone to read the cited help pages and predict 
>> the observed behavior based on the information given in those pages.
> 
> Some of us do share (or at least remember feeling) your pain. The ?Extract 
> page is long and complex and there are several features that I find 
> non-intuitive. But they are deemed desirable by others. I think I needed to 
> read that page about ten times (with multiple different problems that needed 
> explication) before it started to sink in. You are apparently on that same 
> side of the split opinions on the feature of returning rows with logical NA's 
> as I am. I've learned to use `which`, and I push back when the conoscienti 
> says it's not needed.


horrible misspelling of cognoscenti 


> After you read it a few more times you may come to a different opinion. Many 
> people come to R with preconceived notions of what words like "equals" or 
> "list" or "vector" mean and then complain about the documentation. You would 
> be better advised to spend more time studying the language. The help pages 
> are precise but terse, and you need to spend time with the examples and with 
> other tutorial material to recognize the gotcha's.
> 
> Here's a couple of possibly helpful rules regarding "[[" and "[" and logical 
> indexing:
> 
> Nothing _equals_ NA.
> Selection operations with NA logical index item return NA.  (Justified as a 
> warning feature as I understand it.)
> "[" always returns a list.

That's not true or even half true. "[" always returns a list if it's first 
argument is a list and it only has two arguments.

If X is a list and you ask for X[vector] you get a list

If you ask for X[vector, ] you may get a list or a vector.

If you ask for X[two_column_matrix] you get a vector.

I should be flogged.


> "[[" returns only one thing, but even that thing could be a list.

Horribl;y imprecise.

> Generally you want "[[" if you plan on testing for equality with a vector.

Don't listen to me. Read ....
> 
> The "R Inferno" by Burns is an effort to detail many more of the unexpected 
> or irregular aspects of R (mostly inherited from S).
> 
> -- 
> Best of luck in your studies.
> 
> 
>> 
>> ______________________________________________
>> R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
>> 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.
> 
> David Winsemius
> Alameda, CA, USA
> 
> 'Any technology distinguishable from magic is insufficiently advanced.'   
> -Gehm's Corollary to Clarke's Third Law
> 
> ______________________________________________
> R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
> 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.

David Winsemius
Alameda, CA, USA

'Any technology distinguishable from magic is insufficiently advanced.'   
-Gehm's Corollary to Clarke's Third Law

______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
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