[R] Accessing Data Frame

Ista Zahn i@t@z@hn @ending from gm@il@com
Thu Jan 3 17:54:51 CET 2019


Hi Benoit,

You can select rows from deck matched in aCard using

merge(deck, aCard)

Selecting rows that don't match is bit more difficult. You could do
something like

isin <- apply(mapply(function(x, y) x %in% y, deck, topCard),
               1,
               all)
deck[!isin, ]

perhaps.

Alternatively, you can use anti_join from the dplyr package:

library(dplyr)
anti_join(deck, topCard)

Best,
Ista

On Thu, Jan 3, 2019 at 10:38 AM Benoit Galarneau
<benoit.galarneau using polymtl.ca> wrote:
>
> Hi everyone,
> I'm new to the R world.
> Probably a newbie question but I am stuck with some concept with data frame.
> I am following some examples in the "Hands-On Programming with R".
>
> In short, how can I access/filter items in a data frame using a variable.
>
> One example consists of manipulating elements from a deck of card:
>
> > deck
>      face     suit value
> 1   king   spades    13
> 2  queen   spades    12
> 3   jack   spades    11
> 4    ten   spades    10
> etc.
>
> Let's say I want to remove or filter out the first card. I know I
> could do deck[-1].
>
> But let's say I have: topCard <- deck[1,]
>
> topCard is then a list of 3 elements
> > topCard
>    face   suit value
> 1 king spades    13
>
> My question is the following, how can I remove or filter out the deck
> using the topCard variable.
>
> In my programmer's head, something similar to this should "work":
> > deck[10,]
>     face   suit value
> 10 four spades     4
> > aCard <- deck[10,]
> > aCard
>     face   suit value
> 10 four spades     4
> > deck[aCard]
> Error in `[.default`(deck, aCard) : invalid subscript type 'list'
>
> Wihout having to specify all elements in the logical tests.
>
> deck[deck$face == aCard$face & deck$suit == aCard$suit & deck$value ==
> aCard$value,]
>     face   suit value
> 10 four spades     4
>
> ______________________________________________
> R-help using 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.



More information about the R-help mailing list