2017-04-18 81 views
1

我有一个数据框,其中有一个人参考列表,然后是一个交易,每个人参考可以有多个交易。我想汇总,以便它显示如下数据:汇总字符/字符串变量

Record Person Ref  Trade Code 
1  512  elec, plumbing, gas 
2  654   gas, plumbing 
3  685    elec 

等等。

我此刻的代码是:

TEST<-aggregate(`Trade Code`~`Person Reference`, df, function(test) 
     paste(names(table(test)[rank(-1*table(test),ties.method="min")==1],collapse=NULL)) 

这给错误:

> Error: unexpected symbol in: "TEST<-aggregate('Trade Code'~'Person 
> Reference', age_arr, function(test) 
> paste(names(table(test)[rank(-1*table(test),ties.method="min")==1],collapse=NULL)) 
> View" 

任何人都可以看到我这个问题呢?

回答

1

你可以做到这一点与dplyrtoString

df <- read.table(text="Record Person_Ref Trade_Code 
1  512  elec 
1  512  plumbing 
1  512  gas 
2  654  gas 
2  654  plumbing 
3  685  elec",header=TRUE,stringsAsFactors=FALSE) 

df%>% 
group_by(Record,Person_Ref) %>% 
summarise(catY = toString(Trade_Code)) 

    Record Person_Ref    catY 
    <int>  <int>    <chr> 
1  1  512 elec, plumbing, gas 
2  2  654  gas, plumbing 
3  3  685    elec 
+0

这是工作谢谢! – MLPNPC