Dcast() 奇怪的输出

Dcast() weird output

我有两个数据框。对两者应用相同的 dcast() 函数会得到不同的输出结果。两个数据集具有相同的结构但大小不同。第一个超过950行:

我申请的代码是:

trans_matrix_complete <- mod_attrib$transition_matrix




trans_matrix_complete[which(trans_matrix_complete$channel_from=="_3RDLIVE"),]

trans_matrix_complete <- rbind(trans_matrix_complete, df_dummy) 


trans_matrix_complete$channel_to <- factor(trans_matrix_complete$channel_to,
                             levels = c(levels(trans_matrix_complete$channel_to)))

trans_matrix_complete <- dcast(trans_matrix_complete,
                               channel_from ~ channel_to,value.var = 'transition_probability')

我得到的 trans_matrix_complete 输出如下:

有些东西没有正常工作,因为只有几行的较小数据框我得到以下结果:

哪里

a) 行号不同。我不确定为什么在第一个案例中列出了两个点

b) 同样,尝试通过

将行名分配给数据框
row.names(trans_matrix_complete) <- trans_matrix_complete$channel_from

不适用于大型数据框,因为尽管 row.names 联系人数据框显示与第一张图片完全一样,没有为行分配名称。

知道这种奇怪的行为吗?

我决定使用以下函数从 tidyverse 包的 dcast() 转移到 spread():

trans_matrix_complete<-传播(trans_matrix_complete, channel_to,transition_probability)

通过应用 spread() 两个数据帧,矩阵输出具有相同的格式并且可以毫无问题地接受行名。

所以我怀疑这一切都与 dcast() 和 reshape2 包不再维护有关

此致