首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R: dcast降序

R: dcast降序
EN

Stack Overflow用户
提问于 2018-03-21 23:09:57
回答 1查看 260关注 0票数 3

我有一个如下形式的数据框架:

代码语言:javascript
复制
time1 <- rep(seq(1,3),3)
time2 <- c(rep(1,3),rep(2,3), rep(3,3))
value <- seq(1:9)
foo <- data.frame(time1,time2,value)

      time1   time2   value
    1     1     1     1
    2     1     2     2
    3     1     3     3
    4     2     1     4
    5     2     2     5
    6     2     3     6
    7     3     1     7
    8     3     2     8
    9     3     3     9

我想使用dcast来获得以下形式的数据帧:

代码语言:javascript
复制
time2    1   2    3 (values of time1)
3        3   6    9 
2        2   5    8
1        1   4    7

我的第一次尝试是:

代码语言:javascript
复制
dcast(foo, time2 ~ time1,  value.var = "value")

但数据帧不是time2的降序。所以,我试着

代码语言:javascript
复制
dcast(foo, reorder(time2, rev(time2) ~ time1,  value.var = "value") 

但是现在列名是错误的。有没有一种有效的方法可以用dcast获得我的输出表单?

EN

回答 1

Stack Overflow用户

发布于 2018-03-21 23:20:29

您可以使用factor()time2转换为有序因子,并使用levels参数设置顺序。

代码语言:javascript
复制
library(dplyr)
library(reshape2)
foo %>%
  mutate(time2 = factor(time2, levels = rev(unique(time2)))) %>%
  dcast(time2 ~ time1, value.var = 'value')
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49409959

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档