R数据帧逐行运算

时间:2014-11-15 00:55:07

标签: r dataframe

我想在数据帧上对R进行逐行操作。

我有类似的输入,

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

每个ID的输出应该有一行,所有位置连接用分隔符分隔,每个新位置应该从一个新行开始。我将输出直接导出到excel并发送给最终用户。

1 个答案:

答案 0 :(得分:2)

这没有多大意义:每行一个ID,但“不同行”上的位置。 “不同的行”如何不是行?

这会转换为地点以"-"分隔的行。

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")