相关疑难解决方法(0)

在每列中创建一个包含随机数的数据框

我有1000个随机数的模拟:

a <-sample(0:1, 1000, rep = TRUE)
Run Code Online (Sandbox Code Playgroud)

我想要的是一个十列的数据框,其中每列的值生成像一个.

例如:

id  Column 1    Column2 .........Column 10
 1   1                              1
 2   0                              1
 3   1            
     0
     0
     .
     .  
1000 1                              1 
Run Code Online (Sandbox Code Playgroud)

random r dataframe

17
推荐指数
2
解决办法
4万
查看次数

生成新的唯一 ID 号,同时排除之前在 R 中生成的 ID 号

我想为数据库中的行生成唯一的 ID。我将持续向该数据库添加条目,因此我需要同时生成新的 ID。虽然我的数据库相对较小,并且重复随机 ID 的可能性很小,但我仍然希望构建一个编程式故障安全装置,以确保我永远不会生成过去已使用过的 ID。

对于初学者来说,以下是一些示例数据,我可以使用它们来启动示例数据库:

library(tidyverse)
library(ids)
library(babynames)
    
database <- data.frame(rid = random_id(5, 5), first_name = sample(babynames$name, 5))

print(database)
          rid first_name
1  07282b1da2      Sarit
2  3c2afbb0c3        Aly
3  f1414cd5bf    Maedean
4  9a311a145e    Teriana
5  688557399a    Dreyton
Run Code Online (Sandbox Code Playgroud)

这是一些示例数据,我可以使用它们来表示将附加到现有数据库的新数据:

new_data <- sample(babynames$name, 5)

print(new_data)

 first_name
1    Hamzeh
2   Mahmoud
3   Matelyn
4    Camila
5     Renae
Run Code Online (Sandbox Code Playgroud)

现在,我想要的是使用该函数绑定随机生成的 ID 的新列random_id,同时检查以确保新生成的 ID 与对象中的任何现有 ID 不匹配database。如果生成器创建了相同的 ID,那么理想情况下它将生成新的替换,直到创建真正唯一的 ID。

任何帮助将非常感激!

更新

我想到了一种有帮助但仍然有限的可能性。我可以生成新的 ID,然后使用for()循环来测试现有数据库中是否存在任何新生成的 ID。如果是这样,那么我会重新生成一个新的 ID。例如...

new_data$rid <- random_id(nrow(new_data), 5) …
Run Code Online (Sandbox Code Playgroud)

r uniqueidentifier unique-key dplyr ids

0
推荐指数
1
解决办法
1678
查看次数

标签 统计

r ×2

dataframe ×1

dplyr ×1

ids ×1

random ×1

unique-key ×1

uniqueidentifier ×1