Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

dplyr row_number Error in rank

Tags:

r

dplyr

I am trying to spread the corr column in a data frame wide using dplyr, but row_number keep failing with

> o<- out %>% group_by(site) %>% mutate(row = paste0("corr", row_number()))
Error in rank(x, ties.method = "first", na.last = "keep") : 
  argument "x" is missing, with no default

>dput(out)
structure(list(site = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L), .Label = c("2001", "2002", 
"2003", "2004", "2005", "2006", "2007", "2008", "2009", "2010", 
"2011", "2012", "2013", "2014", "2015", "2016", "2017", "2020", 
"2021", "2022", "2102", "2107", "2108"), class = "factor"), corr = c(1, 
0.96999258460714, 0.940002658241897, 0.912152752891952, 0.884318687047626, 
0.857969509223287, 0.832630705318952, 0.807620983310881, 0.783158970946845, 
1, 0.967337226340769, 0.930786616932812, 0.893007333276278, 0.855745958730318, 
0.819162237318344, 0.784067927740006)), .Names = c("site", "corr"
), row.names = c(NA, 16L), class = "data.frame")
like image 442
Sasukethorpido Avatar asked Nov 08 '15 12:11

Sasukethorpido


1 Answers

You have loaded plyr after loading dplyr. This overwrites dplyr::mutate with plyr::mutate (which is stated in a warning message). To remedy this issue, either load plyr first and then load dplyr, or explicitly reference dplyr in the mutate call:

out %>% group_by(site) %>% dplyr::mutate(row = paste0("corr", row_number()))
like image 198
Paul Hiemstra Avatar answered Sep 24 '22 02:09

Paul Hiemstra