Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
转换行中的列元素,行中的列元素用逗号除以R_R - Fatal编程技术网

转换行中的列元素,行中的列元素用逗号除以R

转换行中的列元素,行中的列元素用逗号除以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 我要做的是安排数据,使每个主

我有一个excel输入文件,其中包含有关血样的信息。每个受试者提供三份血样;每个样本都有一个数字ID。这些样本ID当前编码在一列中,如下所示:

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=“,”))