首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从R中的因素记录中创建变量

从R中的因素记录中创建变量
EN

Stack Overflow用户
提问于 2015-03-18 09:46:49
回答 2查看 71关注 0票数 1

我有点迷茫,我有一个数据框架,看起来是这样的:

代码语言:javascript
运行
复制
tract   ageClass    count
    1      [0-4]       71
    2      [0-4]      192
    3      [0-4]       81
    1      [5-8]        9
    2      [5-8]       86
    3      [5-8]       42

我希望有这样的结果:

代码语言:javascript
运行
复制
tract   [0-4]   [5-8]
    1      71       9
    2     192      86
    3      81      42

我在网上寻找解决方案已经有一段时间了,但到目前为止还没有.知道吗?

非常感谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-03-18 10:03:39

代码语言:javascript
运行
复制
ageClass <- c("[0-4]", "[5-8]")
ageClassDF <- lapply(ageClass, function(x) dx[which(dx$ageClass==x), ])

ageClassDF <- Reduce(function(...) merge(..., by = "tract.1", all = TRUE), ageClassDF )
票数 1
EN

Stack Overflow用户

发布于 2015-03-18 10:05:19

我可以想到三个可能的选项(假设您的数据集称为df)

代码语言:javascript
运行
复制
xtabs(count ~ tract + ageClass, df) 
#       ageClass
# tract [0-4] [5-8]
#     1    71     9
#     2   192    86
#     3    81    42

代码语言:javascript
运行
复制
library(reshape2)
dcast(df, tract ~ ageClass, value.var = "count") 
#   tract [0-4] [5-8]
# 1     1    71     9
# 2     2   192    86
# 3     3    81    42

代码语言:javascript
运行
复制
library(tidyr)
spread(df, ageClass, count)
#   tract [0-4] [5-8]
# 1     1    71     9
# 2     2   192    86
# 3     3    81    42
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29118709

复制
相关文章

相似问题

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