首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >R解列数据集

R解列数据集
EN

Stack Overflow用户
提问于 2013-11-06 18:57:00
回答 2查看 650关注 0票数 1

我想拆解一个R数据集,并得到它的长格式。例如,如果我输入HairEyeColor,我就会得到

代码语言:javascript
运行
复制
, , Sex = Male

        Eye
Hair    Brown Blue Hazel Green
Black    32   11    10     3
Brown    53   50    25    15
Red      10   10     7     7
Blond     3   30     5     8

, , Sex = Female

        Eye
Hair    Brown Blue Hazel Green
Black    36    9     5     2
Brown    66   34    29    14
Red      16    7     7     7
Blond     4   64     5     8

如何获得所有542长格式的列表?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-11-06 19:00:48

你想要这个包reshape2

代码语言:javascript
运行
复制
require(reshape2)
melt(HairEyeColor)

注释中的说明确认,您想要的是获取行并重复它们,而不是在value列中压缩该信息(默认情况下)。

要做到这一点,如泰勒在评论中所述,请做以下工作:

代码语言:javascript
运行
复制
x <- melt(HairEyeColor)
x[rep(seq_len(nrow(x)), x$value), -4]

第一行是x,如下所示。

第二行告诉R重复第一行( HairEyeSex的组合) value时间。逗号后面的-4 (如在[..., -4]中)的含义是,在重复行时,而不是包含第四列(在本例中为value)。

这是x的输出,它来自melt的缺省值。

代码语言:javascript
运行
复制
> melt(HairEyeColor)
   Hair   Eye    Sex value
1  Black Brown   Male    32
2  Brown Brown   Male    53
3    Red Brown   Male    10
4  Blond Brown   Male     3
5  Black  Blue   Male    11
6  Brown  Blue   Male    50
7    Red  Blue   Male    10
8  Blond  Blue   Male    30
9  Black Hazel   Male    10
10 Brown Hazel   Male    25
11   Red Hazel   Male     7
12 Blond Hazel   Male     5
13 Black Green   Male     3
14 Brown Green   Male    15
15   Red Green   Male     7
16 Blond Green   Male     8
17 Black Brown Female    36
18 Brown Brown Female    66
19   Red Brown Female    16
20 Blond Brown Female     4
21 Black  Blue Female     9
22 Brown  Blue Female    34
23   Red  Blue Female     7
24 Blond  Blue Female    64
25 Black Hazel Female     5
26 Brown Hazel Female    29
27   Red Hazel Female     7
28 Blond Hazel Female     5
29 Black Green Female     2
30 Brown Green Female    14
31   Red Green Female     7
32 Blond Green Female     8
票数 5
EN

Stack Overflow用户

发布于 2013-11-06 19:19:52

简单基R解

代码语言:javascript
运行
复制
as.data.frame(HairEyeColor)
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19820440

复制
相关文章

相似问题

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