randomNames icon indicating copy to clipboard operation
randomNames copied to clipboard

set.seed() only works for the first row of a dataframe.

Open cfreder2 opened this issue 4 years ago • 1 comments

Neat package.

One minor thing, running this will result in a different person for the second row of the dataframe. The seed is only respected for the first run.

set.seed(1842) randomNames(2, which.names = "both", return.complete.data = T)

The workaround: set.seed(1842) df1 <- bind_rows(randomNames(1, gender = T, ethnicity = T, which.names = "both", return.complete.data = T), randomNames(1, gender = T, ethnicity = T, which.names = "both", return.complete.data = T), randomNames(1, gender = T, ethnicity = T, which.names = "both", return.complete.data = T))

Any thoughts on allowing us to set the seed so we can always reproduce the same set of names?

cfreder2 avatar Sep 27 '21 14:09 cfreder2

Thanks for the comment.

I'm not sure I understand the way in which you want the function to produce results.

When I run your first example

set.seed(1842)
randomNames(2, which.names = "both", return.complete.data = T)

I get

> set.seed(1842)
> randomNames(2, which.names = "both", return.complete.data = T)
   gender ethnicity first_name   last_name
1:      0         6    Annnees al-Muhammad
2:      1         6      Suhaa    el-Basha

If I run it again I get the same thing.

> set.seed(1842)
> randomNames(2, which.names = "both", return.complete.data = T)
   gender ethnicity first_name   last_name
1:      0         6    Annnees al-Muhammad
2:      1         6      Suhaa    el-Basha

I'm not getting a different person for the second row of the dataframe. Can you clarify?

dbetebenner avatar Sep 29 '21 04:09 dbetebenner