gpt4 book ai didi

r - 根据 R 中的另一个值组合行值

转载 作者:行者123 更新时间:2023-12-02 08:28:45 26 4
gpt4 key购买 nike

我需要做一个网络可视化,我有数据,但格式还不正确!数据在 R 中的数据框中如下所示:

Title       Name
Article1 Johnson
Article1 Hansson
Article1 Michaels
Article2 Nielsson
Article2 Madsen
Article2 Shannon
Article2 Paddington

我想找到基于标题的名称组合 - 即合作作者,所以输出为这种格式

Source     Target      Title
Johnson Hansson Article1
Johnson Michaels Article1
Hansson Michaels Article1
Nielsson Madsen Article2
Nielsson Shannon Article2
Nielsson Paddington Article2
Madsen Shannon Article2
Madsen Paddington Article2
Shannon Paddington Article2

网络是无向的,所以源/目标只是列名来说明。那么我怎样才能在 R 中做到这一点呢?我确定有一个简单的方法,但我找不到。

最佳答案

这是使用 data.table 的可能解决方案 v >= 1.9.5和新的 tstrsplit 函数

library(data.table) # v >= 1.9.5
setDT(df)[, setNames(tstrsplit(combn(Name, 2, toString, simplify = FALSE), ", "),
c("Source", "Target")),
by = Title]
# Title Source Target
# 1: Article1 Johnson Hansson
# 2: Article1 Johnson Michaels
# 3: Article1 Hansson Michaels
# 4: Article2 Nielsson Madsen
# 5: Article2 Nielsson Shannon
# 6: Article2 Nielsson Paddington
# 7: Article2 Madsen Shannon
# 8: Article2 Madsen Paddington
# 9: Article2 Shannon Paddington

关于r - 根据 R 中的另一个值组合行值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29487014/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com