[R] "invalid argument to unary operator" while selecting rows by name

ruipbarradas at sapo.pt ruipbarradas at sapo.pt
Tue Sep 20 19:52:08 CEST 2016


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.



More information about the R-help mailing list