将行旋转为列 [英] Pivoting rows into columns

查看:7
本文介绍了将行旋转为列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

假设(为简化起见)我有一个表,其中包含一些对照和治疗数据:

Which, Color, Response, Count
Control, Red, 2, 10
Control, Blue, 3, 20
Treatment, Red, 1, 14
Treatment, Blue, 4, 21

对于每种颜色,我需要一行包含对照和处理数据,即:

Color, Response.Control, Count.Control, Response.Treatment, Count.Treatment
Red, 2, 10, 1, 14
Blue, 3, 20, 4, 21

我猜其中一种方法是在每个控制/处理子集上使用内部合并(在颜色列上合并),但有没有更好的方法?我认为重塑程序包或堆栈函数可以以某种方式做到这一点,但我不确定。

推荐答案

使用重塑程序包。

首先,融合您的数据。Frame:

x <- melt(df) 

然后选择:

dcast(x, Color ~ Which + variable)

根据您使用的重塑包的版本,可能是cast()(重塑)或dcast()(重塑2)

哇!

这篇关于将行旋转为列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆