How to transpose a dataframe in tidyverse?

前端 未结 1 1091
长情又很酷
长情又很酷 2020-12-13 15:25

Using basic R, I can transpose a dataframe, say mtcars, which has all columns of the same class:

as.data.frame(t(mtcars))

Or

1条回答
  •  [愿得一人]
    2020-12-13 15:44

    Try with add_rownames

    add_rownames(mtcars) %>% 
             gather(var, value, -rowname) %>% 
             spread(rowname, value) 
    

    In the newer version, rownames_to_column replaces add_rownames

    mtcars %>%
       rownames_to_column %>% 
       gather(var, value, -rowname) %>% 
       spread(rowname, value) 
    

    In the even newer version, pivot_wider replaces spread:

    mtcars %>%
       tibble::rownames_to_column() %>%  
       pivot_longer(-rowname) %>% 
       pivot_wider(names_from=rowname, values_from=value) 
    

    0 讨论(0)
提交回复
热议问题