2014-11-15 2 views
-2

Я хочу выполнить последовательность строк в R на кадре данных.R dataframe rolsise operation

У меня есть вход, аналогичный,

ID Location 
100 SFO 
100 NY 
100 LV 
101 Chicago 
101 NJ 
102 ABC 
102 XYZ 
102 RTE 
102 EWR 

Выход должен быть

ID Location 
100 SF0- 
    NY- 
    LV 
101 Chicago- 
    NJ 
102 ABC- 
    XYZ- 
    RTE- 
    EWR 

Выход должны иметь одну строку для каждого идентификатора со всеми местах сцепленных отделены друг от друга разделителем и каждое новое местоположение должно начать на новой линии. Я экспортирую продукцию напрямую в Excel и отправляю конечным пользователям.

+0

Это больше похоже на файл csv, чем на фрейм данных –

ответ

2

Это не имеет большого значения: один идентификатор для каждой строки, но местоположения на «другой строке». Как «разные строки» не строки?

Это преобразование в строки с местоположениями, разделенными "-".

aggregate(Location~ID,df,paste,collapse="-") 
# ID  Location 
# 1 100  SFO-NY-LV 
# 2 101  Chicago-NJ 
# 3 102 ABC-XYZ-RTE-EWR 

Это отделяет от "-" с последующим переводом строки.

aggregate(Location~ID,df,paste,collapse="-\n") 
+0

Nice one liner. – jazzurro