gpt4 book ai didi

r - 如何在 ifelse 中使用示例

转载 作者:行者123 更新时间:2023-12-01 12:25:45 25 4
gpt4 key购买 nike

我有以下 list

x = rep("a", 100)

如果我使用下表
ifelse(x == "a", sample(c(1:100), 1), 0)

我第一次运行时得到以下输出。
[1] 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22
[22] 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22
[43] 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22
[64] 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22
[85] 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22

我看不到 1 到 100 之间的随机样本。我应该如何实现它。我想要输出的随机性。预期输出示例如下:
  [1]   8  81  46  71  97  18  37  82  74  34  12   5  26   6  66  55
[17] 2 84 68 9 29 7 38 4 64 90 39 54 75 45 20 42
[33] 79 36 78 13 47 85 27 69 23 62 15 63 76 25 77 96
[49] 98 11 53 83 30 41 91 43 88 28 65 10 49 99 56 67
[65] 16 95 32 92 14 86 50 80 94 58 21 87 51 17 70 1
[81] 33 57 59 73 52 22 31 44 100 61 60 35 89 24 48 72
[97] 40 19 3 93

最佳答案

如上所述,您的 sample只生成一个数。要修复它,您的 ifelse应该是这样的:

x = rep("a", 100)
ifelse(x == "a", sample(c(1:100), length(x)), 0)

或者,如果我正确理解你想要什么,甚至更短的版本:
x = rep("a", 100)
ifelse(x == "a", sample(length(x)), 0)

如果你想用带替换的采样替换你的“not a”值(每个数字可以出现多次),我们最终得到这个代码:
x = rep(c("a","b"), 50)
ifelse(x == "a", sample(length(x), replace = TRUE), 0)

关于r - 如何在 ifelse 中使用示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40051433/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com