使用R按频率扩展数据帧

时间:2015-10-05 07:04:34

标签: r

我的问题涉及数据框内的操作。我的数据是

data_i_have<-data.frame(Nature=c("a","b","c","d"),Freq=c(1,2,2,1),Values=c(1,4,6,2))

我想要的数据是

data_i_want<-data.frame(Nature=c("a","b","b","c","c","d"),Freq=c(1,1,1,1,1,1),Values=c(1,2,2,3,3,2))

我怎样才能做到这一点?任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

你可以做到

with(data_i_have, {
    data.frame(
        Nature = rep(Nature, Freq), Freq = 1, Values = rep(Values / Freq, Freq)
    )
})
#   Nature Freq Values
# 1      a    1      1
# 2      b    1      2
# 3      b    1      2
# 4      c    1      3
# 5      c    1      3
# 6      d    1      2