【发布时间】:2011-12-05 20:51:38
【问题描述】:
我有一个包含日期和 ID 的数据框。我需要根据每个日期向此数据框添加多列。我使用ddply 这样做如下:
ddply(df, "dt", transform, new_column1 = myfun(column_name_1))
但是,我有一堆列名,想添加多个新列。有没有办法可以传递一个字符串来转换而不是 new_column1?例如我试过:
ddply(df, "dt", transform, get("some_column_name")=myfun(column_name_1))
但这不起作用。另外,如果我将column_name_1 作为字符串传递给myfun,我可以在myfun 中使用get("column_name_1") 来引用该列吗?
更新: 不知道如何更好地格式化这个
input:
id date val
id1 d1 1
id2 d1 2
id3 d1 3
id4 d1 4
id1 d2 10
id2 d2 20
id3 d2 30
id4 d2 40
out(例如 2 个桶)
id date val bucket
id1 d1 1 1
id2 d1 2 1
id3 d1 3 2
id4 d1 4 2
id1 d2 10 1
id2 d2 20 1
id3 d2 30 2
id4 d2 40 2
【问题讨论】:
-
仅供参考,要创建代码块,只需将块中的行缩进四个空格。 (一般来说,更多格式规则请参见编辑框右上角的
?)。
标签: r get transform dataframe plyr