我在R中有一个像这样的数据框:
$(document).on("click", "#enroll-deposit", function() {
var isChecked = $(this).is(':checked');
if (isChecked) {
var url = '@Url.Action("waivetask", "OBProcess" , new { id=ViewBag.DocId, tid=ViewBag.TaskId })';
bootbox.dialog({
message: "Are you sure you want to waive <strong> Direct Deposit </strong>",
title: "Waive Direct Deposit",
buttons: {
main: {
label: "Cancel",
className: "btn-default",
callback: function() {
//NOT SURE WHAT TO PUT
}
},
danger: {
label: "Waive and Move On to Next Task",
className: "btn-danger",
callback: function() {
window.location.href = url;
}
}
}
});
}
});
如何将其转换为这样的表?
user1,A
user1,B
user2,A
user2,C
user2,C
user3,A
user4,C
实际上我的数据有一个时间间隔作为第二列,这是用户第一次和当前购买之间经过的时间。我想做一个矩阵图,其中矩阵中的每一行都是图像中的一条线(并且每个元素都是一个像素)。
(我可以(有点)使用arules包,导出原始数据帧并将其作为事务导入,但我认为必须有直接的方法来执行此操作,而不需要这样的黑客。)
谢谢!
答案 0 :(得分:4)
您可以使用table()
> table(df1)
# V2
#V1 A B C
# user1 1 1 0
# user2 1 0 2
# user3 1 0 0
# user4 0 0 1
如果您想将此输出存储为新数据框df2
,则可能存在以下情况:
df2 <- as.data.frame.matrix(table(df1))
数据强>
df1 <- read.table(text="user1,A
user1,B
user2,A
user2,C
user2,C
user3,A
user4,C", header=F, sep=",")