假设我有一个数字向量X
X <- c(1,42,1,23,5,7)
我想创建另一个具有相同数量元素的向量Y
,每个元素都是一个序列中随机生成的整数,其中1是下限,X
中的元素是上限,例如Y[2]
,数字是从1到42之间选择的随机生成的数字,对于Y[4]
,数字将从1到23之间随机选择。
我尝试使用apply函数来执行此操作
Y<-apply(C, 1, sample)
但我没有运气并生成错误消息
apply(X,1,sample)时出错:dim(X)必须有一个正长度1, 样品
有更好的方法吗?
答案 0 :(得分:0)
您不能将apply
用于矢量,而只能用于多维对象(例如,矩阵)。您必须使用sapply
。此外,您需要参数size = 1
,因为您要为X
的每个条目采样一个值。
sapply(X, sample, size = 1)
[1] 1 7 1 16 3 6