ruipbarradas at sapo.pt
2016-Sep-20 18:13 UTC
[R] "invalid argument to unary operator" while selecting rows by name
Sorry, I've made a stupid mistake. It's obviously the other way around. ix <- which(rownames(data) %in% c("601", "604")) clean <- data[-ix, ] Rui Barradas Citando ruipbarradas at sapo.pt:> Hello, > > Try something like the following. > > ix <- which(c("601", "604") %in% rownames(data)) > clean <- data[-ix, ] > > > Hope this helps, > > Rui Barradas > > > > > Citando Pauline La?lle <pauline.laille at gmail.com>: > >> Dear all, >> >> I built a dataframe with read.csv2(). Initially, row names are integers >> (order of answers to a survey). They are listed in the csv's first column. >> The import works well and my dataframe looks like I wanted it to look. >> >> Row names go as follows : >> [1] "6" "29" "31" "32" "52" "55" "63" "71" "72" "80" "88" "89" >> "91" "93" "105" "110" "111" "117" "119" "120" >> [21] "122" "127" "128" "133" "137" "140" "163" "165" "167" "169" "177" >> "178" "179" "184" "186" "192" "193" "200" "201" "228" >> etc. >> >> I would like to drop rows "601" & "604" to clean the dataframe. >> >> While data["601",] shows me the first row i'd like to drop, data[-"601",] >> returns the following : >> Error in -"601" : invalid argument to unary operator >> >> idem with data[c("601","604"),] and data[-c("601","604"),] >> >> It is the first time that I run into this specific error. After reading a >> bit about it I still don't understand what it means and how to fix it. >> >> Thanks for reading! >> Best, >> Pauline. >> >> [[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. > > ______________________________________________ > 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.
Pauline Laïlle
2016-Sep-21 07:51 UTC
[R] "invalid argument to unary operator" while selecting rows by name
Works like a charm, thanks! Still don't know what that error message means though. Any idea? 2016-09-20 20:13 GMT+02:00 <ruipbarradas at sapo.pt>:> Sorry, I've made a stupid mistake. > It's obviously the other way around. > > ix <- which(rownames(data) %in% c("601", "604")) > clean <- data[-ix, ] > > > Rui Barradas > > > Citando ruipbarradas at sapo.pt: > > > Hello, >> >> Try something like the following. >> >> ix <- which(c("601", "604") %in% rownames(data)) >> clean <- data[-ix, ] >> >> >> Hope this helps, >> >> Rui Barradas >> >> >> >> >> Citando Pauline La?lle <pauline.laille at gmail.com>: >> >> Dear all, >>> >>> I built a dataframe with read.csv2(). Initially, row names are integers >>> (order of answers to a survey). They are listed in the csv's first >>> column. >>> The import works well and my dataframe looks like I wanted it to look. >>> >>> Row names go as follows : >>> [1] "6" "29" "31" "32" "52" "55" "63" "71" "72" "80" "88" >>> "89" >>> "91" "93" "105" "110" "111" "117" "119" "120" >>> [21] "122" "127" "128" "133" "137" "140" "163" "165" "167" "169" "177" >>> "178" "179" "184" "186" "192" "193" "200" "201" "228" >>> etc. >>> >>> I would like to drop rows "601" & "604" to clean the dataframe. >>> >>> While data["601",] shows me the first row i'd like to drop, data[-"601",] >>> returns the following : >>> Error in -"601" : invalid argument to unary operator >>> >>> idem with data[c("601","604"),] and data[-c("601","604"),] >>> >>> It is the first time that I run into this specific error. After reading a >>> bit about it I still don't understand what it means and how to fix it. >>> >>> Thanks for reading! >>> Best, >>> Pauline. >>> >>> [[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/posti >>> ng-guide.html >>> and provide commented, minimal, self-contained, reproducible code. >>> >> >> ______________________________________________ >> 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/posti >> ng-guide.html >> and provide commented, minimal, self-contained, reproducible code. >> > > > >[[alternative HTML version deleted]]
ruipbarradas at sapo.pt
2016-Sep-21 08:26 UTC
[R] "invalid argument to unary operator" while selecting rows by name
Hello, The error message means exactly what it says. The operator '-' is unary and cannot be followed by a non-numeric atomic object (a vector). Try for instance x <- list(a=1:10, b=rnorm(5)) -x Rui Barradas ? Citando Pauline La?lle <pauline.laille at gmail.com>:> Works like a charm, thanks! Still don't know what that error message > means though. Any idea? > > ? 2016-09-20 20:13 GMT+02:00 <ruipbarradas at sapo.pt>: >> Sorry, I've made a stupid mistake. >> It's obviously the other way around. >> >> ix <- which(rownames(data) %in% c("601", "604")) >> clean <- data[-ix, ] >> >> Rui Barradas >> >> Citando ruipbarradas at sapo.pt: ? >>> Hello, >>> >>> Try something like the following. >>> >>> ix <- which(c("601", "604") %in% rownames(data)) >>> clean <- data[-ix, ] >>> >>> Hope this helps, >>> >>> Rui Barradas >>> >>> Citando Pauline La?lle <pauline.laille at gmail.com>: >>> ? >>>> Dear all, >>>> >>>> I built a dataframe with read.csv2(). Initially, row names are integers >>>> (order of answers to a survey). They are listed in the csv's first column. >>>> The import works well and my dataframe looks like I wanted it to look. >>>> >>>> Row names go as follows : >>>> [1] "6"? ?"29"? "31"? "32"? "52"? "55"? "63"? "71"? "72"? "80"? "88"? "89" >>>> "91"? "93"? "105" "110" "111" "117" "119" "120" >>>> [21] "122" "127" "128" "133" "137" "140" "163" "165" "167" "169" "177" >>>> "178" "179" "184" "186" "192" "193" "200" "201" "228" >>>> etc. >>>> >>>> I would like to drop rows "601" & "604" to clean the dataframe. >>>> >>>> While data["601",] shows me the first row i'd like to drop, data[-"601",] >>>> returns the following : >>>> Error in -"601" : invalid argument to unary operator >>>> >>>> idem with data[c("601","604"),] and data[-c("601","604"),] >>>> >>>> It is the first time that I run into this specific error. After reading a >>>> bit about it I still don't understand what it means and how to fix it. >>>> >>>> Thanks for reading! >>>> Best, >>>> Pauline. >>>> >>>> ? ? ? ? [[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. >>> >>> ______________________________________________ >>> 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. >> >> ?? [[alternative HTML version deleted]]