sách gpt4 ai đã đi

r - 用 R 生成 n 个唯一的名字

In lại 作者:行者123 更新时间:2023-12-05 00:58:53 hai mươi bốn 4
mua khóa gpt4 Nike

我想使用 R 生成 n 个唯一名称。这是我现在拥有的代码:

library(randomNames)
set.seed(6232015)
gen.names <- function(n){
while(n>0){
names <- unique(randomNames(n=n))
n <- n - length(names)
names2 <- c(unique(randomNames(n=n)), names)
n <- n - length(names2)
}
return(names2)
}
nombres<- gen.names(n = 40000)

我得到的不是 40000,而是 39999。如果我要求少于 40000,我会得到那个数字。我的代码有什么问题?

Cảm ơn!

1 Câu trả lời

您在第二次调用中获得的名称不唯一,导致名称丢失。然后 n 计算中断,允许您离开 while 循环。

让我们来看看它:

names <- unique(randomNames(n=n))
n <- n - length(names)

你有 38986 个唯一的名字,现在 n 是 1014

现在:

names2 <- c(unique(randomNames(n=n)), names)
n <- n - length(names2)

你得到了 1013 个新的唯一名称,在 names2 中给出了 39999 个名称,现在 n 是 1014 - 39999 = -38985

你到达了循环的末尾,当你小于 1 时退出,并返回你的值,但缺少 1 个名字。

这是一个 hacky 解决方案,生成 2000 个额外的名称,然后在循环中检查:

gen.names <- function(n){
names<-c()
while(length(names)
names <- unique(c(randomNames(n=n+2000),names))
}
return(names[1:n])
}

关于r - 用 R 生成 n 个唯一的名字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31016035/

hai mươi bốn 4 0
Bài viết được đề xuất: .net - 获取 WPF 路径中所有点的像素位置
Bài viết được đề xuất: scala - DSL 提取案例类字段名称
Bài viết được đề xuất: Appveyor 缓存依赖项
Bài viết được đề xuất: vim - Chạy lệnh :! trong một terminal thực
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com