分散数据框架

时间:2015-09-22 07:12:51

标签: r dplyr

我需要根据列值忽略数据框。我想我正在查看dplyr汇总函数的反函数或可能的unstack?

输入

Person  |   Sales

John    |    2

Peter   |    2

期望的输出

Person  |   Sales

John    |    1

John    |    1

Peter   |    1

Peter   |    1

1 个答案:

答案 0 :(得分:3)

我们通过复制“人物”来创建新的data.frame。 '销售'原始数据集中的列和销售'列为1.

data.frame(Person=rep(df1$Person, df1$Sales), Sales=1)

或使用' Sales'复制行。和transform'销售'列。

transform(df1[rep(1:nrow(df1), df1$Sales),], Sales=1)

数据

df1 <- structure(list(Person = c("John", "Peter"), Sales = c(2L, 2L)), 
.Names = c("Person", "Sales"), class = "data.frame", row.names = c(NA, -2L))