我有以下数据集:
dataset1 <- data.frame(
bnames = c("T1", "T1", "T2", "T3", "T3"),
events = c("I", "O", "I", "I", "O"),
freq = c(1,2,3,4,5))
我想将此数据集转换为宽格式,我的方法(使用reshape
包):
dataset2 <- melt(dataset1, id.vars = c("bnames", "events"))
dataset2 <- dataset2[c("bnames", "events", "value")]
names(dataset2) <- c("bnames", "events", "freq")
dataset2
的内容:
bnames events freq
1 T1 I 1
2 T1 O 2
3 T2 I 3
4 T3 I 4
5 T3 O 5
但bnames
列下应始终有两行具有相同的名称。在I
列下有一行O
而另一行events
。如果原始数据集(dataset1
)中不存在相应的值,则freq
下的值应始终为0.因此,在这种情况下,我期望的结果应为:
bnames events freq
1 T1 I 1
2 T1 O 2
3 T2 I 3
4 T2 O 0
5 T3 I 4
6 T3 O 5
怎么做?感谢
答案 0 :(得分:0)
这是一个$('button#loginModal-password-reset_button').bind('click', function() {
$('#loginModal').modal('hide');
setTimeout(function(){
$('#password-resetModal').modal('show');
}, 1000);
});
解决方案。生成所有可能的bnames和事件排列,将此集合与原始数据集连接,并返回频率(如果可用,则设置为0)。
data.table