我正在学习R并且我想制作一个“数组数组”(不确定表达式是否正确)插入例如这些值
N_seq = c(10,50,100,500,1000)
在这个函数里面(不正确):
x = rnorm(N_seq,3.2,1)
所需的结果应该类似于由五个数组(length(N_seq) = 5
)生成的对象,其中每个数组等于x
插入N_seq
的每个值的结果(以便{ {1}}的值为x[1]
,长度为10,rnorm(N_seq[i], 3.2, 1)
的值为x[2]
,长度为50等。
答案 0 :(得分:1)
对于参差不齐的数组,请使用"list"。这是一种特殊类型的" vector"在R.您不仅可以在每个列表元素中保存差异长度的向量,还可以为每个列表元素保存不同类型的对象。
"列表的lapply
功能适用"经常用于处理列表和/或返回列表。对于您的任务,您可以这样做:
lapply(N_seq, FUN = rnorm, mean = 3.2, sd = 1)
lapply
将函数FUN
应用于N_seq
的每个向量元素,其中mean = 3.2
和sd = 1
是传递给FUN
的其他参数,其中这里是rnorm
。