首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在R中进行定制堆叠?

如何在R中进行定制堆叠?
EN

Stack Overflow用户
提问于 2018-06-27 13:17:46
回答 2查看 48关注 0票数 1

我有两列数据(如下面的代码所示),我不知道如何将它们按自定义顺序堆叠成一列。为了明确起见,我想要一列(称为x )作为我的数据集,"attr“栏的条目1-5作为第x栏的条目1-5,然后是列"type”的条目6-10作为第x栏中的条目6-10,然后是"attr“列的条目6-10作为第x栏中的条目11-15,最后是列"type”的条目6-10作为第x栏中的条目16-20。我的数据集如下:

代码语言:javascript
运行
复制
analysis <- data.frame(attr = c('player_a', 'player_b', 'player_c', 'player_d', 'player_e',
                                'player_f', 'player_g', 'player_h', 'player_i', 'player_j'),
                       type = c('player_q', 'player_r', 'player_s', 'player_t', 'player_u',
                                'player_v', 'player_w', 'player_x', 'player_y', 'player_z'))

我对R相当陌生,所以如果我使用了不正确的术语,我很抱歉。任何帮助都是非常感谢的。

澄清一下,我想要的命令是:

代码语言:javascript
运行
复制
player_a
player_b
player_c
player_d
player_e
player_q
player_r
player_s
player_t
player_u
player_f
player_g
player_h
player_i
player_j
player_v
player_w
player_x
player_y
player_z
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-06-27 15:31:20

这是我的答案,它使用了dplyr包,但我相信您可以使用与data.tablebase相同的逻辑

代码语言:javascript
运行
复制
library(dplyr)
library(tidyr)
analysis <- data.frame(attr = c('player_a', 'player_b', 'player_c',
                                'player_d', 'player_e', 'player1', 'player2',
                                'player3', 'player4', 'player5'), 
                       type=c('player_v','player_w','player_x',
                              'player_y', 'player_z','player6', 'player7',
                              'player8', 'player9', 'player10'))
a2 <- mutate(analysis, order = c(rep(1,5),rep(2,5)))
a3 <- gather(a2, "variable", "value", -order) %>% arrange(order)
票数 0
EN

Stack Overflow用户

发布于 2018-06-27 13:32:36

这就是你要找的(使用data.table包)吗?

代码语言:javascript
运行
复制
library(data.table)

analysis <- data.table(attr = c('player_a', 'player_b', 'player_c', 'player_d', 'player_e'), type=c('player_v','player_w','player_x', 'player_y', 'player_z'))

melt(analysis,measure.vars = 1:2)

    variable    value
 1:     attr player_a
 2:     attr player_b
 3:     attr player_c
 4:     attr player_d
 5:     attr player_e
 6:     type player_v
 7:     type player_w
 8:     type player_x
 9:     type player_y
10:     type player_z
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51063834

复制
相关文章

相似问题

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