转换行中的列元素,行中的列元素用逗号除以R
我有一个excel输入文件,其中包含有关血样的信息。每个受试者提供三份血样;每个样本都有一个数字ID。这些样本ID当前编码在一列中,如下所示:转换行中的列元素,行中的列元素用逗号除以R,r,R,我有一个excel输入文件,其中包含有关血样的信息。每个受试者提供三份血样;每个样本都有一个数字ID。这些样本ID当前编码在一列中,如下所示: Surname Name Idsample Jash Milena 05311511 Jash Milena 05311512 Jash Milena 05311514 Sailor Zac 06011509 Sailor Zac 06011510 Sailor Zac 06011511 我要做的是安排数据,使每个主
Surname Name Idsample
Jash Milena 05311511
Jash Milena 05311512
Jash Milena 05311514
Sailor Zac 06011509
Sailor Zac 06011510
Sailor Zac 06011511
我要做的是安排数据,使每个主题与一行中的逗号分隔的样本ID的对应列表相关联:
Surname Name Idsample
Jash Milena 05311511,05311512,05311514
Sailor Zac 06011509,06011510,06011511
但我在这方面遇到了麻烦。我只能用R。
谢谢以下是使用tidyverse套装的一种方法:
library(tidyverse)
sample_data <-tribble(~Surname, ~Name, ~Idsample,
"Jash", "Milena", "05311511",
"Jash", "Milena", "05311512",
"Jash", "Milena", "05311514",
"Sailor", "Zac", "06011509",
"Sailor", "Zac", "06011510",
"Sailor", "Zac", "06011511")
sample_data_transformed <-
sample_data %>% group_by(Surname,Name) %>%
summarise(Idsample = paste0(Idsample,collapse = ",")) %>%
ungroup()
库(tidyverse)
样本数据%
摘要(Idsample=paste0(Idsample,collapse=“,”)%%>
解组()
非常感谢您的建议,它工作得很好,但是如果我想在第三列上执行与摘要相同的操作?因此,要对2列或3列(而不仅仅是一列)进行相同的汇总,您可以将每列单独添加到汇总语句中,如summary(Idsample1=paste0(Idsample1,collapse=“,”),Idsample2=paste0(Idsample2,collapse=“,”)
或者,如果要对所有列(按分组的列除外)执行此操作,可以使用汇总所有列(.funs=list(~paste0(,collapse=“,”))