R 字段的单独内容
我相信这是非常简单的,我认为这是一个使用分离和聚集的情况 我在数据框中有一个字段authorlist,它是pubmed搜索的编辑输出。它包含这些出版物的作者。显然,它可以包含单个作者,也可以包含多个作者的协作 例如,这只是可用选项的选择:R 字段的单独内容,r,lapply,tidyverse,tidyr,sapply,R,Lapply,Tidyverse,Tidyr,Sapply,我相信这是非常简单的,我认为这是一个使用分离和聚集的情况 我在数据框中有一个字段authorlist,它是pubmed搜索的编辑输出。它包含这些出版物的作者。显然,它可以包含单个作者,也可以包含多个作者的协作 例如,这只是可用选项的选择: Author Drijgers RL, Verhey FR, Leentjens AF, Kahler S, Aalten P. 我想做的是创建一个所有作者的列表,这样我就可以 Author Drijgers RL Verhey FR Leentjens A
Author
Drijgers RL, Verhey FR, Leentjens AF, Kahler S, Aalten P.
我想做的是创建一个所有作者的列表,这样我就可以
Author
Drijgers RL
Verhey FR
Leentjens AF
Kahler S
Aalten P
authSpread<-authorlist%>%separate(Author,sep =",",extra ="drop")
我该怎么做?
我以为会是这样
Author
Drijgers RL
Verhey FR
Leentjens AF
Kahler S
Aalten P
authSpread<-authorlist%>%separate(Author,sep =",",extra ="drop")
authSpread%单独(作者,sep=“,”,extra=“drop”)
但它不起作用。
如果我输入=“NA”
我只在一个专栏中列出了第一批作者。
我想做的是在excel中复制“文本到列”功能,您可以在其中指定要拆分的字符,并将单元格的内容强制转换/扩展到新单元格。然后把它们重新组合成一列。
我不知道作者的最大数量,因此也不知道以编程方式拆分的列数(或如何标记它们)
编辑:澄清
我不知道我是否希望生成一个长数据帧,然后进行收集,因为我不知道会生成多少字段。这是明智之举吗?
我认为我可以将单独的by“,”的输出写入一个列表,然后将该列表的内容作为单个数据帧写入。
这听起来更有效率吗?您正在寻找独立的行 输入:
df <- data.frame(authors = c("Drijgers RL, Verhey FR, Leentjens AF, Köhler S, Aalten P."))
authors
1 Drijgers RL, Verhey FR, Leentjens AF, Köhler S, Aalten P.
输出:
authors
1 Drijgers RL
2 Verhey FR
3 Leentjens AF
4 Köhler S
5 Aalten P.
[1] "Drijgers RL" "Verhey FR" "Leentjens AF" "Köhler S" "Aalten P."
您可以将它们保存在如下列表中:
authors_list <- df %>% separate_rows(authors, sep = ", ") %>% pull(authors)
如果列表中有多篇文章的作者,并且只希望出现唯一的文章,只需在末尾添加unique()
:
authors_list <- df %>% separate_rows(authors, sep = ", ") %>% pull(authors) %>% unique()
authors\u list%单独的行(authors,sep=“,”)%%>%pull(authors)%%>%unique()
您要查找的是单独的行
输入:
df <- data.frame(authors = c("Drijgers RL, Verhey FR, Leentjens AF, Köhler S, Aalten P."))
authors
1 Drijgers RL, Verhey FR, Leentjens AF, Köhler S, Aalten P.
输出:
authors
1 Drijgers RL
2 Verhey FR
3 Leentjens AF
4 Köhler S
5 Aalten P.
[1] "Drijgers RL" "Verhey FR" "Leentjens AF" "Köhler S" "Aalten P."
您可以将它们保存在如下列表中:
authors_list <- df %>% separate_rows(authors, sep = ", ") %>% pull(authors)
如果列表中有多篇文章的作者,并且只希望出现唯一的文章,只需在末尾添加unique()
:
authors_list <- df %>% separate_rows(authors, sep = ", ") %>% pull(authors) %>% unique()
authors\u list%单独的行(authors,sep=“,”)%%>%pull(authors)%%>%unique()
感谢您提供了出色的解决方案。我可以在excel中简单地做到这一点:拆分第一个作者,拆分最后一个作者。然后计算作者作为第一作者或最后一作者出现的次数。我如何在R中复制这一点?我可以从上面回答的单独行中计算出一个作者拥有出版物的总次数。(抱歉挤了一个额外的问题)最后一个额外的问题(我希望如此)。我如何将第一个作者和最后一个作者分成不同的专栏。将来知道这一点可能会有用。在这个答案中,列数是已知的。如何说“在逗号上拆分这个字符串,并根据作者列表中的名字的数量将它们丢进未知的列中?”?DAMO,不客气,如果有帮助的话,可以考虑接受这个答案。我认为最好把你的第二个问题变成另一个问题,因为内容不同。好的。行。再次感谢。感谢您的出色解决方案。我可以在excel中简单地做到这一点:拆分第一个作者,拆分最后一个作者。然后计算作者作为第一作者或最后一作者出现的次数。我如何在R中复制这一点?我可以从上面回答的单独行中计算出一个作者拥有出版物的总次数。(抱歉挤了一个额外的问题)最后一个额外的问题(我希望如此)。我如何将第一个作者和最后一个作者分成不同的专栏。将来知道这一点可能会有用。在这个答案中,列数是已知的。如何说“在逗号上拆分这个字符串,并根据作者列表中的名字的数量将它们丢进未知的列中?”?DAMO,不客气,如果有帮助的话,可以考虑接受这个答案。我认为最好把你的第二个问题变成另一个问题,因为内容不同。好的。行。再次感谢。