生成一列随机数

问题描述

我想在 R 中生成一列随机数,取值在 1 到 371 之间,但我收到一个无法修复的错误

这是代码

library(readstata13)

#load data sets
data1<- read.dta13("file1.dta",convert.factors = FALSE,select.cols=(c("var1") ))

data2<- read.dta13("file2.dta",select.cols=(c("var2") ))

finaldataset <-rbindlist(list(data1,data2),idcol=TRUE)

set.seed(123456789)

finaldataset$lad<-sample(371)

这是我收到的错误信息

Error in set(x,j = name,value = value) : 
  Supplied 371 items to be assigned to 36137 items of column 'lad'. If you wish to 'recycle' the RHS please use rep() to make this intent clear to readers of your code.

任何帮助将不胜感激,谢谢

解决方法

我无法加载您的数据,因此无法对其进行检查,但是,您似乎正在尝试创建与最终数据集中的列长度不同的列。 仅使用 sample(371) 只会创建 371 个值,因此,您需要指定要创建的值的数量,即与其他数据长度相同的大小。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...