【发布时间】:2020-11-10 22:34:58
【问题描述】:
我有一个如下所示的非对称数据框:
我想将此数据帧转换为 R 中的方阵,但此刻我很迷茫。理想情况下,我希望结果看起来像这样,以便我可以在其他应用程序中使用它。 (注意:这只是具有超过 50 列的真实 df 的片段)。 我希望有人能帮帮忙。谢谢!
【问题讨论】:
我有一个如下所示的非对称数据框:
我想将此数据帧转换为 R 中的方阵,但此刻我很迷茫。理想情况下,我希望结果看起来像这样,以便我可以在其他应用程序中使用它。 (注意:这只是具有超过 50 列的真实 df 的片段)。 我希望有人能帮帮忙。谢谢!
【问题讨论】:
基于示例,我们可以遍历不是第一列的列,并执行==,使用+ 转换为二进制并更新数据集列
df1[-1] <- lapply(df1[-1], function(x) +(df1[[1]] %in% x & !is.na(x)))
【讨论】:
== 更改为 %in%
+(df1[[1]] %in% x & !is.na(x)),因为之前是x %in% df1[[1]]