如何给命令多个数字并输出多个对象 R
How do I give a command multiple numbers and output multiple objects R
我想做类似的事情
range <- c(1,100,250, 500, 1000)
hdbscan_object{1:5} <- hdbscan(DF1, minPts = range)
而不是:
hdbscan_object1 <- hdbscan(DF1, minPts = 1)
hdbscan_object2 <- hdbscan(DF1, minPts = 100)
hdbscan_object3 <- hdbscan(DF1, minPts = 250)
hdbscan_object4 <- hdbscan(DF1, minPts = 500)
hdbscan_object5 <- hdbscan(DF1, minPts = 1000)
这是 list2env
的一个选项。使用 lapply
遍历 'range' 向量,应用函数,将输出存储在 list
('lst1') 中,命名为 list
并使用 list2env
在全局环境中创建这些对象
lst1 <- lapply(range, function(x) hdbscan(DF1, minPts = x))
names(lst1) <- paste0("hdbscan_object", seq_along(lst1))
list2env(lst1, .GlobalEnv)
或者另一种选择是 assign
在 for
循环中
for(i in seq_along(range)) {
assign(paste0("hdbscan_object", i),
hdbscan(DF1, minPts = range[i]))
}
我想做类似的事情
range <- c(1,100,250, 500, 1000)
hdbscan_object{1:5} <- hdbscan(DF1, minPts = range)
而不是:
hdbscan_object1 <- hdbscan(DF1, minPts = 1)
hdbscan_object2 <- hdbscan(DF1, minPts = 100)
hdbscan_object3 <- hdbscan(DF1, minPts = 250)
hdbscan_object4 <- hdbscan(DF1, minPts = 500)
hdbscan_object5 <- hdbscan(DF1, minPts = 1000)
这是 list2env
的一个选项。使用 lapply
遍历 'range' 向量,应用函数,将输出存储在 list
('lst1') 中,命名为 list
并使用 list2env
在全局环境中创建这些对象
lst1 <- lapply(range, function(x) hdbscan(DF1, minPts = x))
names(lst1) <- paste0("hdbscan_object", seq_along(lst1))
list2env(lst1, .GlobalEnv)
或者另一种选择是 assign
在 for
循环中
for(i in seq_along(range)) {
assign(paste0("hdbscan_object", i),
hdbscan(DF1, minPts = range[i]))
}