问题描述
我想在 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 个值,因此,您需要指定要创建的值的数量,即与其他数据长度相同的大小。