我将def
定义为一个整数矢量,其中包含1到50之间的50个不同的随机数
nums
我正在尝试创建一个图形,该图形显示从现在开始仅将一个特定值nums = sample(50, replace=TRUE)
更改为采用-97至99之间的所有值时,均值和中位数会受到怎样的影响。都是1以外的98个整数。
我想要创建100个数据集,其中每个nums[1]
不同。我正在使用for循环将nums[1]
每次递增2,这意味着100次迭代将使nums[1]
达到99。
nums[1]
如何创建一个新数据集,其当前值为nums[[1]] = -97
for(i in 1:100) {
nums[[1]] = (nums[[1]] + 2)
}
加上nums[1]
中的所有其他值不变?这比看起来要棘手,因为我希望能够遍历这些数据集并显示每个数据集的均值和中位数。例如,我可以调用nums
来显示平均值。
但这意味着我需要一个可预测的命名方案,以便我可以遍历它们。那有可能吗?我当时正在考虑做类似“创建名为mean(nums)
的新数据集之类的事情,除了nums[i]
用于数组内的索引,所以我不确定该怎么做。
从那里开始,我想可以先向数据集中添加[]
,然后再添加nums[1]
,但我仍然坚持如何实际创建各个集合。
编辑:
nums[2:50]
使用lapply,我可以在下面的for循环中添加以下内容,以获取每个数据集的x [1]值以及每个数据集的平均值和中位数。然后,我将如何做同样的事情,并将这些值中的每一个放入ggplot可以使用的新数据帧中?
答案 0 :(得分:1)
您可以做到
set.seed(2017)
nums <- sample(50, replace=TRUE)
lst <- lapply(seq(-97, 99, by = 2), function(x) { nums[1] <- x; nums; })
或使用replace
lst <- lapply(seq(-97, 99, by = 2), function(x) replace(nums, 1, x))
两个方法都返回list
integer
中的vectors
,其中每个vector
的第一个元素已被值seq(-97, 99, by = 2)
取代。我们以length(seq(-97, 99, by = 2)) = 99
中的list
个元素结束。
“我已将nums
定义为包含50个不同随机数的列表(数组)[...]” 请注意,nums
是{{1 }} integer
(不是vector
也不是list
)。