R 通过DF循环,在一列中查找与列表匹配的值,为找到的每个列表值添加总计并打印

R 通过DF循环,在一列中查找与列表匹配的值,为找到的每个列表值添加总计并打印,r,dataframe,R,Dataframe,我有一个名为df的数据框架,其中包含变量AllCustomerName和sum.of.FY.Total。第一列“AllCustomerName”包含所有客户端的列表。我有一个单独的列表,其中包含我需要了解的客户的姓名。下面的代码旨在循环数据帧列AllCustomerName,搜索与我的列表值相等的所有值,并分别为每个列表观察添加所有值 y这可以通过数据来完成。表 library(data.table) setDT(df)[AllCustomerName %chin% unlist(y), .(S

我有一个名为df的数据框架,其中包含变量AllCustomerName和sum.of.FY.Total。第一列“AllCustomerName”包含所有客户端的列表。我有一个单独的列表,其中包含我需要了解的客户的姓名。下面的代码旨在循环数据帧列AllCustomerName,搜索与我的列表值相等的所有值,并分别为每个列表观察添加所有值


y这可以通过
数据来完成。表

library(data.table)
setDT(df)[AllCustomerName %chin% unlist(y), .(Sum = sum(Sum.of.FY.Total)), 
                by = AllCustomerName]

那么您正试图编写自己版本的
合并
?也许你可以做一个可复制的例子。要么模拟数据,要么用<代码> dPUTE()/代码>共享它。请考虑删除RStudio标签。R和rstudio是不同的软件,您的问题与rstudio无关。或者您希望
aggregate(sum.of.FY.Total~AllCustomerName,FUN=sum,data=subset(df,AllCustomerName%,in%y))
。为什么不在%y中的
df$AllCustomerName%处对df进行子集,然后
按AllCustomerName进行分组
汇总
@Imo你是对的。不确定rstudio是如何/为什么被标记的。这非常有效。我没有想过要用这个软件包。谢谢是的。几分钟前做的。快速提问。如果听起来很琐碎,请原谅。保持相同的data.table语法,是否可以查找列表“y”中父项的所有部分匹配项并求和。我唯一能想到的方法是使用
pmatch()
函数,该函数可以工作,但对您的解决方案无效。@Lyle您能用一个可复制的示例作为新问题发布吗?我刚刚做了@akrun