【问题标题】:R language - Creating a function and array out of itR语言 - 用它创建一个函数和数组
【发布时间】:2022-01-24 23:36:19
【问题描述】:

我需要在 R 中创建一个名为“Zufall(n,max)”的函数,它返回“1”和“max”之间的“n”个随机整数(max 是函数的参数,而不是函数 max( )!!)。整数可以重复出现。

Zufall <- function(n,mx){
Zahl <- 1:mx  
if(!is.double(n)) stop("Geben sie eine ganzzahlige Zahl ein!")
  if(Zahl>mx) stop("Geben sie eine ganzzahlige Zahl ein!")
  else sample(n,replace=T)
}
  1. 我的问题是代码忽略了“mx” - 我生成的值高于 mx 值!例如。当我输入“Zufall(1000,8)”时,我会生成整数“719”……这不应该是这样;在这种情况下,数字应停在“8”!
  2. 如何最好地创建一个维度为 2x3x4 的数组?

非常感谢您..感谢您的帮助!

【问题讨论】:

  • 那是R吗?请适当地标记,以便了解您的语言的人可以提供帮助。
  • 是的,它是 R - 我现在编辑了我的答案 :)。谢谢!
  • 请正确缩进你的函数。

标签: r arrays function if-statement integer


【解决方案1】:

简单地说:

sample(1:mx, n, replace = TRUE)

例如sample(1:8, 1000, replace = TRUE)

您的条件 if(Zahl&gt;mx) 是错误的,因为 Zahl 是长度 > 1 的向量,无论如何这个测试是无用的,因为通过构造 1:mx 不会生成任何数字 > mx

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-02
    • 1970-01-01
    • 2015-05-16
    • 2022-12-07
    相关资源
    最近更新 更多