描述:我有一个包含患者ID和诊断ID的数据集。每个患者可能有1到20个诊断。数据集示例
目标:我需要将我的数据框架转换为交易矩阵,用于市场篮子分析。
问题:到目前为止,我在使用用于制作事务矩阵的常规工具时遇到了问题,我相信这是因为每个PID记录的长度不同。
我的尝试:我使用了arules包,试图通过将数据作为事务矩阵读取,将数据转换为事务矩阵。用于将数据加载为事务的代码示例
这导致了错误:'读取事务中出错("intermediate.csv",格式="single",cols=c("pid",:"cols"必须是数字(字符只允许用于标头=TRUE(">
最初,这个错误让我相信列的数据类型是不正确的(非数字(,尽管在写出文件并将其作为事务读取之前,我在行中明确地将它们的数据类型设置为数字。我已经通过重新读取该文件(而不是作为事务(来确认该文件是我想要的格式。
有没有关于如何进行的想法?我也将使用"sqldf"来尝试使其工作,尽管我更喜欢将其保存在"arules"库中。
谢谢。
好吧,没过多久就找到了答案,但我可以把这个问题作为一个例子留在这里。附件是修复所需的全部内容。修复