Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.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_Loops_Dataframe_Row - Fatal编程技术网

R在数据帧中复制特定行

R在数据帧中复制特定行,r,loops,dataframe,row,R,Loops,Dataframe,Row,我有一个由不同的人完成的任务的数据框架(以及其他列中关于该任务的一些其他信息) 如果我得到一个谁完成了多少任务的频率计数,我会得到这样的组成示例数据: Name Count John 27 Jack 14 Jill 31 John,Jack 7 Jack and Jill 11 John/Jill 3 Jack+John,Jill 1 我的目标是复制由多人完成的工作。如果我运行频率计数,我希望如下所示: Name Count John

我有一个由不同的人完成的任务的数据框架(以及其他列中关于该任务的一些其他信息)

如果我得到一个谁完成了多少任务的频率计数,我会得到这样的组成示例数据:

Name       Count
John       27
Jack       14
Jill       31
John,Jack  7
Jack and Jill  11
John/Jill  3
Jack+John,Jill 1
我的目标是复制由多人完成的工作。如果我运行频率计数,我希望如下所示:

Name    Count
John    35    
Jack    33
Jill    46
我需要复制数据框中的任何行,其中有多个人在一项工作中工作,以便将同一项工作列为仅由每个工作人员完成

我有一个所有名字的列表,但没有放在它们之间的各种连接器(我有Jack+Jill、Jack/Jill、Jack和Jill以及名字之间的其他连接)

我对R相当陌生,我写这篇文章是:

unlisted = unlist(data$"Name")
temp1 = data[grepl(employeenames[1], unlisted, fixed = TRUE), ]
temp1[, "Name"] = employeenames[1]
for(i in 2:length(employeenames)){
  temp2 = data[grepl(employeenames[i], unlisted, fixed = TRUE), ]
  temp2[ ,"Name"] = employeenames[i]
  temp1 = rbind(temp1, temp2)
}
data = temp1
就我所见,这是可行的,但我反复被告知(或者更确切地说,在人们被告知的地方阅读stackoverflow答案)循环的
rbind
for
不会混合。对于一个简单的操作来说,这似乎太多了

问题


什么是更快或更“正确”的方法

这是一个整洁的版本:

库(tidyverse)
df%
单独的_行(名称,sep='[,/+]|和''%>%
分组单位(名称)%>%
总结(计数=总和(计数))
#>#tibble:3 x 2
#>姓名计数
#>    
#>1杰克33
#>2吉尔46
#>约翰三世38