【发布时间】:2015-06-06 16:35:49
【问题描述】:
我有两个可以使用以下代码复制的数据帧:
df=data.frame(xcode=c("612","920","924","925"),
ratio.company1=c("0.1","0.9","0.4","0"),
ratio.company2=c("0.1","0","0.6","0.6"),
ratio.company3=c("0.8","0.1","0","0.4"))
df
df2=data.frame(id=c("101","101","101","101","101","101","102","102","102","102","102","103","103","104","104","104","104","104","104","104","104","105","105","105","106","106","106","106","106","106","107","107","107","107","107","107"),
xcode=c("612","612","612","612","612","612","612","612","612","612","612","920","920","920","920","920","920","920","920","920","920","924","924","924","924","924","924","924","924","924","925","925","925","925","925","925"),
company=c(""))
df2
df 给出了基于 xcode 字段的人被分配到 company1 或 company 2 或 Company 3 的概率。 df2 给了我 ID 和 xcode。根据 xcodes 给出的比例,df2 中的 ID 需要分为公司 1,2,3。
例如,在 xcode 612 的 11 个 ID 中,10% 分配给公司 1,10% 分配给公司 2,80% 分配给公司 3。我想将我的结果四舍五入到小数点后 0 位。我想不出办法来实现这一目标。我可以以某种方式使用runif 命令吗?请帮忙。
我的结果数据集如下所示:
df2=data.frame(id=c("101","101","101","101","101","101","102","102","102","102","102","103","103","104","104","104","104","104","104","104","104","105","105","105","106","106","106","106","106","106","107","107","107","107","107","107"),
xcode=c("612","612","612","612","612","612","612","612","612","612","612","920","920","920","920","920","920","920","920","920","920","924","924","924","924","924","924","924","924","924","925","925","925","925","925","925"),
company=c("company1","company2","company3","company3","company3","company3","company3","company3","company3","company3","company3",
"company1","company1","company1","company1","company1","company1","company1","company1","company1","company3",
"company1","company1","company1","company1","company2","company2","company2","company2","company2",
"company2","company2","company2","company2","company3","company3"))
【问题讨论】:
-
想要的输出是什么?
-
@MamounBenghezal:推荐使用所需结果进行编辑。谢谢!
-
可能类似于
round(9/11, digits = 1)?
标签: r variables distribution