myDF <- data.frame(a = c("<0.1", NA, 0.3, 5, "Nil"), b = c("<0.1", 1, 0.3, 5, "Nil"), stringsAsFactors = FALSE) # you can subset the b-column in several ways myDF[ , 2] myDF[ , "b"] myDF$b # using the column, you make a logical vector ! is.na(as.numeric(myDF$b)) # This can be used to select the rows you want myDF[! is.na(as.numeric(myDF$b)), ] B.> On Sep 25, 2017, at 7:30 AM, Shane Carey <careyshan at gmail.com> wrote: > > Hi, > > Lets say this was a dataframe where I had two columns > > a <- c("<0.1", NA, 0.3, 5, "Nil") > b <- c("<0.1", 1, 0.3, 5, "Nil") > > And I just want to remove the rows from the dataframe where there were NAs in the b column, what is the syntax for doing that? > > Thanks in advance > > On Fri, Sep 22, 2017 at 5:04 PM, Shane Carey <careyshan at gmail.com> wrote: > Super, > > Thanks > > On Fri, Sep 22, 2017 at 4:57 PM, Boris Steipe <boris.steipe at utoronto.ca> wrote: > > a <- c("<0.1", NA, 0.3, 5, "Nil") > > a > [1] "<0.1" NA "0.3" "5" "Nil" > > > b <- as.numeric(a) > Warning message: > NAs introduced by coercion > > b > [1] NA NA 0.3 5.0 NA > > > b[! is.na(b)] > [1] 0.3 5.0 > > > B. > > > > On Sep 22, 2017, at 11:48 AM, Shane Carey <careyshan at gmail.com> wrote: > > > > Hi, > > > > How do I extract just numbers from the following list: > > > > a=c("<0.1",NA,0.3,5,Nil) > > > > so I want to obtain: 0.3 and 5 from the above list > > > > Thanks > > > > > > -- > > Le gach dea ghui, > > *Shane Carey* > > *GIS and Data Solutions Consultant* > > > > [[alternative HTML version deleted]] > > > > ______________________________________________ > > R-help at 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. > > > > > -- > Le gach dea ghui, > Shane Carey > GIS and Data Solutions Consultant > > > > -- > Le gach dea ghui, > Shane Carey > GIS and Data Solutions Consultant
This is super, really helpfull. Sorry, one final question, lets say I wanted to remove 0's rather than NAs , what would it be? Thanks On Mon, Sep 25, 2017 at 12:41 PM, Boris Steipe <boris.steipe at utoronto.ca> wrote:> myDF <- data.frame(a = c("<0.1", NA, 0.3, 5, "Nil"), > b = c("<0.1", 1, 0.3, 5, "Nil"), > stringsAsFactors = FALSE) > > # you can subset the b-column in several ways > > myDF[ , 2] > myDF[ , "b"] > myDF$b > > # using the column, you make a logical vector > ! is.na(as.numeric(myDF$b)) > > > # This can be used to select the rows you want > > myDF[! is.na(as.numeric(myDF$b)), ] > > > > B. > > > > On Sep 25, 2017, at 7:30 AM, Shane Carey <careyshan at gmail.com> wrote: > > > > Hi, > > > > Lets say this was a dataframe where I had two columns > > > > a <- c("<0.1", NA, 0.3, 5, "Nil") > > b <- c("<0.1", 1, 0.3, 5, "Nil") > > > > And I just want to remove the rows from the dataframe where there were > NAs in the b column, what is the syntax for doing that? > > > > Thanks in advance > > > > On Fri, Sep 22, 2017 at 5:04 PM, Shane Carey <careyshan at gmail.com> > wrote: > > Super, > > > > Thanks > > > > On Fri, Sep 22, 2017 at 4:57 PM, Boris Steipe <boris.steipe at utoronto.ca> > wrote: > > > a <- c("<0.1", NA, 0.3, 5, "Nil") > > > a > > [1] "<0.1" NA "0.3" "5" "Nil" > > > > > b <- as.numeric(a) > > Warning message: > > NAs introduced by coercion > > > b > > [1] NA NA 0.3 5.0 NA > > > > > b[! is.na(b)] > > [1] 0.3 5.0 > > > > > > B. > > > > > > > On Sep 22, 2017, at 11:48 AM, Shane Carey <careyshan at gmail.com> wrote: > > > > > > Hi, > > > > > > How do I extract just numbers from the following list: > > > > > > a=c("<0.1",NA,0.3,5,Nil) > > > > > > so I want to obtain: 0.3 and 5 from the above list > > > > > > Thanks > > > > > > > > > -- > > > Le gach dea ghui, > > > *Shane Carey* > > > *GIS and Data Solutions Consultant* > > > > > > [[alternative HTML version deleted]] > > > > > > ______________________________________________ > > > R-help at 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. > > > > > > > > > > -- > > Le gach dea ghui, > > Shane Carey > > GIS and Data Solutions Consultant > > > > > > > > -- > > Le gach dea ghui, > > Shane Carey > > GIS and Data Solutions Consultant > >-- Le gach dea ghui, *Shane Carey* *GIS and Data Solutions Consultant* [[alternative HTML version deleted]]
Always via logical expressions. In this case you can use the logical expression myDF$b != "0" to give you a vector of TRUE/FALSE B.> On Sep 25, 2017, at 8:00 AM, Shane Carey <careyshan at gmail.com> wrote: > > This is super, really helpfull. Sorry, one final question, lets say I wanted to remove 0's rather than NAs , what would it be? > > Thanks > > On Mon, Sep 25, 2017 at 12:41 PM, Boris Steipe <boris.steipe at utoronto.ca> wrote: > myDF <- data.frame(a = c("<0.1", NA, 0.3, 5, "Nil"), > b = c("<0.1", 1, 0.3, 5, "Nil"), > stringsAsFactors = FALSE) > > # you can subset the b-column in several ways > > myDF[ , 2] > myDF[ , "b"] > myDF$b > > # using the column, you make a logical vector > ! is.na(as.numeric(myDF$b)) > > > # This can be used to select the rows you want > > myDF[! is.na(as.numeric(myDF$b)), ] > > > > B. > > > > On Sep 25, 2017, at 7:30 AM, Shane Carey <careyshan at gmail.com> wrote: > > > > Hi, > > > > Lets say this was a dataframe where I had two columns > > > > a <- c("<0.1", NA, 0.3, 5, "Nil") > > b <- c("<0.1", 1, 0.3, 5, "Nil") > > > > And I just want to remove the rows from the dataframe where there were NAs in the b column, what is the syntax for doing that? > > > > Thanks in advance > > > > On Fri, Sep 22, 2017 at 5:04 PM, Shane Carey <careyshan at gmail.com> wrote: > > Super, > > > > Thanks > > > > On Fri, Sep 22, 2017 at 4:57 PM, Boris Steipe <boris.steipe at utoronto.ca> wrote: > > > a <- c("<0.1", NA, 0.3, 5, "Nil") > > > a > > [1] "<0.1" NA "0.3" "5" "Nil" > > > > > b <- as.numeric(a) > > Warning message: > > NAs introduced by coercion > > > b > > [1] NA NA 0.3 5.0 NA > > > > > b[! is.na(b)] > > [1] 0.3 5.0 > > > > > > B. > > > > > > > On Sep 22, 2017, at 11:48 AM, Shane Carey <careyshan at gmail.com> wrote: > > > > > > Hi, > > > > > > How do I extract just numbers from the following list: > > > > > > a=c("<0.1",NA,0.3,5,Nil) > > > > > > so I want to obtain: 0.3 and 5 from the above list > > > > > > Thanks > > > > > > > > > -- > > > Le gach dea ghui, > > > *Shane Carey* > > > *GIS and Data Solutions Consultant* > > > > > > [[alternative HTML version deleted]] > > > > > > ______________________________________________ > > > R-help at 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. > > > > > > > > > > -- > > Le gach dea ghui, > > Shane Carey > > GIS and Data Solutions Consultant > > > > > > > > -- > > Le gach dea ghui, > > Shane Carey > > GIS and Data Solutions Consultant > > > > > -- > Le gach dea ghui, > Shane Carey > GIS and Data Solutions Consultant