将r数据帧重塑为宽格式 [英] reshape r dataframe to wide format
本文介绍了将r数据帧重塑为宽格式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
有没有简单的方法来改变这一点
id date
A Jan 2012
B Jan 2012
C Jan 2012
A Feb 2012
B Feb 2012
A Mar 2012
B MAr 2012
在
id Jan 2012 Feb 2012 Mar 2012
A T T T
B T T T
C T F F
dcast
和reshape
需要我认为不需要的聚合函数(?)
推荐答案
按照您的建议使用dcast
...
# Please provide reproducible data next time!
set.seed(123)
dt <- data.frame( id = rep(c("A","B","C"),3 ), date = sample( month.name[1:3] , 9 , repl = TRUE ) , stringsAsFactors = FALSE )
# id date
#1 A January
#2 B March
#3 C February
#4 A March
#5 B March
#6 C January
#7 A February
#8 B March
#9 C February
require( reshape2 )
dcast( dt , id ~ date , fun = function(x) length(x) > 0 , fill = FALSE )
# id February January March
#1 A TRUE TRUE TRUE
#2 B FALSE FALSE TRUE
#3 C TRUE TRUE FALSE
或仅table
作为@AnandaMahto建议...
table(dt) > 0
# date
#id February January March
# A TRUE TRUE TRUE
# B FALSE FALSE TRUE
# C TRUE TRUE FALSE
在句法上肯定更简单!!
这篇关于将r数据帧重塑为宽格式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文