2014-04-08 1 views
0

я теперь иметь вид данных, как это:как использовать sqldf группировать строки и вставлять значения

V1 V2 V3 V4 
a 1 2 name1 
b 3 4 name2 
b 3 4 name3 
c 2 5 name4 

, и я хочу, чтобы получить этот результат, группировка на основе V1, V2, V3, используя sqldf

V1 V2 V3 V4 
a 1 2 name1 
b 3 4 name2+name3 
c 2 5 name4 

Я имею в виду использовать как

н
sqldf("select *, paste(V4) as V5 from table group by V1,V2,V3") 

, но у меня есть проблемы с поиском правильной функции поставить как «вставить» выше. Я написал сложный цикл для решения этой проблемы, но мне интересно, есть ли простой способ. Может ли кто-нибудь помочь мне? Любой вход будет очень оценен! Спасибо за ваше время!

Спасибо, Raine

ответ

0

Попробуйте это:

sqldf("select V1, V2, V3, group_concat(V4) V4 from DF group by V1, V2, V3") 

даяние:

V1 V2 V3   V4 
1 a 1 2  name1 
2 b 3 4 name2,name3 
3 c 2 5  name4 
+0

Это очень удобно !!! Большое спасибо! Это все, что мне нужно!^_ ^ – user3512961