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

如何使用rpois(2,100)为整数对(x, y)完成随机赋值

错误原因说明

你写的代码有3处不符合R语法规则的问题:

  • R原生不支持(x, y) = xxx这类多变量同步解构赋值的写法,这类语法是Python、JS等语言的特性,R无法识别
  • 函数定义缺少名称,=function(...)属于非法写法,需要给函数指定命名
  • R的return()仅支持返回1个R对象,不能直接传入多个逗号分隔的变量返回

原生R实现方案(无需额外安装包)

方案1:封装返回随机对的函数,手动提取赋值

适合不想让函数直接修改全局变量的场景:

# 定义生成泊松随机数对的函数
gen_pois_xy <- function(lambda = 100) {
  res <- rpois(2, lambda)
  return(c(x = res[1], y = res[2]))
}

# 调用后赋值给x、y
xy_pair <- gen_pois_xy()
x <- xy_pair[1]
y <- xy_pair[2]

方案2:调用函数直接更新全局环境的x、y

适合需要频繁更新x、y做测试的场景,调用一次即可完成两个变量的更新:

# 定义直接更新全局x、y的函数
update_pois_xy <- function(lambda = 100) {
  res <- rpois(2, lambda)
  # 直接给全局环境的x、y赋值
  assign("x", res[1], envir = .GlobalEnv)
  assign("y", res[2], envir = .GlobalEnv)
}

# 调用后当前环境的x、y就会被更新为新的随机值
update_pois_xy()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 14:54:01