You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R模拟订单历史数据集 生成天气分类因子列实现方法问询

实现方法

你可以直接使用sample()函数完成随机抽样,注意开启有放回抽样即可适配任意长度的数据集,两种实现写法如下:

写法1:基础向量运算版(效率更高,适合大数据集)

library(dplyr)
skies1 <- c("Clear", "Rain", "Snow")
skies2 <- c("Clear", "Rain")

# 固定随机种子方便结果复现,不需要可删除
set.seed(123)

data <- data %>%
  mutate(weather = ifelse(
    season == "Winter",
    sample(skies1, n(), replace = TRUE),
    sample(skies2, n(), replace = TRUE)
  ))

写法2:逐行处理版(逻辑更直观,适合小数据集)

library(dplyr)
skies1 <- c("Clear", "Rain", "Snow")
skies2 <- c("Clear", "Rain")

set.seed(123)
data <- data %>%
  rowwise() %>%
  mutate(weather = ifelse(
    season == "Winter",
    sample(skies1, 1),
    sample(skies2, 1)
  )) %>%
  ungroup() # 取消行分组,避免影响后续数据操作

可选调整

如果需要自定义不同天气的出现概率,可以给sample()添加prob参数,比如让冬季80%概率晴天、10%下雨、10%下雪:

sample(skies1, n(), replace = TRUE, prob = c(0.8, 0.1, 0.1))

内容的提问来源于stack exchange,提问作者amatof

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 01:36:08