相关疑难解决方法(0)

创建共生矩阵

我正在尝试解决共同出现矩阵的问题.我有一个事务和项目的数据文件,我想看到一起显示项目的事务数量的矩阵.

我是R编程的新手,我很乐意找到R所有的快捷方式,而不是创建特定的循环(我以前使用的是C年前,现在只坚持使用Excel宏和SPSS).我已经检查过这里的解决方案,但是没有找到一个有效的方法(最接近的是这里给出的解决方案:使用SAC的共生矩阵? - 但是当我使用projection_tm时它产生了一条错误信息,我怀疑cbind不是'在我的案例中成功.

基本上我有一个包含以下内容的表:

TrxID Items Quant
Trx1 A 3
Trx1 B 1
Trx1 C 1
Trx2 E 3
Trx2 B 1
Trx3 B 1
Trx3 C 4
Trx4 D 1
Trx4 E 1
Trx4 A 1
Trx5 F 5
Trx5 B 3
Trx5 C 2
Trx5 D 1, etc.
Run Code Online (Sandbox Code Playgroud)

我想创建类似的东西:

   A B C D E F
A  0 1 1 0 1 1
B  1 0 3 1 1 0
C  1 3 0 1 0 0 …
Run Code Online (Sandbox Code Playgroud)

r matrix

28
推荐指数
5
解决办法
2万
查看次数

使用dplyr进行交互的频率计数,必须包括零计数

我的问题涉及使用R中的dplyr包编写代码

我有一个相对较大的数据帧(大约500万行),有2列:第一列有个人标识符(id),第二列有日期(date).目前,每行表示日期列中日期上发生的操作(由id列中的个人采取).大约有300,000个独特个体,大约2600个独特日期.例如,数据的开头如下所示:

    id         date
    John12     2006-08-03
    Tom2993    2008-10-11
    Lisa825    2009-07-03
    Tom2993    2008-06-12
    Andrew13   2007-09-11
Run Code Online (Sandbox Code Playgroud)

我想重新整形数据,以便每个可能的idx date对都有一行,另外一列计算在给定日期列出的个体发生的事件总数(可能取值0).

我在dplyr包中取得了一些成功,我用它来表示在数据中观察到的id x日期计数.

这是我到目前为止用于制表idx date计数的代码:(我的数据框称为df)

reduced = df %.% 
  group_by(id, date) %.%
  summarize(length(date))
Run Code Online (Sandbox Code Playgroud)

我的问题是(正如我上面所说)我想要一个数据集,其中包含0个没有任何关联动作的id x日期对.例如,如果在2007-10-10没有观察到John12的动作,我希望输出为该idx date对返回一行,计数为0.

我考虑在上面创建框架,然后使用空框架进行合并,但我确信必须有一个更简单的解决方案.任何建议非常感谢!

interaction r frequency large-data dplyr

10
推荐指数
1
解决办法
9408
查看次数

在大型数据框中按行计算字符串的出现次数

我试图在一个大数据框中按行计算二进制字符结果:

V1      V2      V3      V4      V5  
Loss    Loss    Loss    Loss    Loss
Loss    Loss    Win     Win     Loss
Loss    Loss    Loss    Loss    Loss
Run Code Online (Sandbox Code Playgroud)

我需要知道的是按行输赢的频率.这只是一个简短的例子(大型模拟输出的片段),但对于第1行,在五次模拟中,我有五次损失,第二行三次丢失,两次获胜等.

我希望生成一个单独的表来显示按行获胜/失败的频率,或者,如果这不起作用,则添加两个新列:一个为每行提供"Win"和"Loss"的数量.

每一行都是不同的情况,每一列都是该案例的复制品.这显示为具有两个级别"损失""赢"的因素的数据框.

r count rowsum summarize

3
推荐指数
1
解决办法
1620
查看次数

标签 统计

r ×3

count ×1

dplyr ×1

frequency ×1

interaction ×1

large-data ×1

matrix ×1

rowsum ×1

summarize ×1