我有一个数据框,每个“用户”包含 X 行,其中 X 在用户之间不是恒定的。我想做的是能够生成随机数来填充新列,但是对于每个“用户”,与该用户对应的所有行的随机数都是相同的。例如,数据可能如下所示:
user feature1 feature2
1 "A" "B"
1 "L" "L"
1 "Q" "B"
1 "D" "M"
1 "D" "M"
1 "P" "E"
2 "A" "B"
2 "R" "P"
2 "A" "F"
3 "X" "U"
... ... ...
我想生成一个可能看起来像这样的新列:
user feature1 feature2 new_rand
1 "A" "B" 0.183
1 "L" "L" 0.183
1 "Q" "B" 0.183
1 "D" "M" 0.183
1 "D" "M" 0.183
1 "P" "E" 0.183
2 "A" "B" 0.971
2 "R" "P" 0.971
2 "A" "F" 0.971
3 "X" "U" 0.302
... ... ...
我做的第一种方法基本上是使用s <- split(df, df$user)
,但是数据框包含大量用户,我认为这可能是一种非常低效的方法。
非常感谢。