For 循环创建列表
假设您有以下数据框:
data <- data.frame(a=runif(n=348), b=runif(n=348), c=runif(n=348))
然后假设您希望对每一列应用 bld.mbb.bootstrap 函数(来自forecast 包)。
对于一列,代码将如下所示:
reps <- 500L
sim <- bld.mbb.bootstrap(data$a, reps)
返回 500 个列表。
问题 1:如何更改所有名称?说迭代#i(在列表内)。
问题 2:我想创建一个 for 循环,对数据框中的所有列进行“sim”操作。所以我认为它会像这样:
for (i in names(data)){
sim <- bld.mbb.bootstrap(data$i, reps)
}
我怎样才能制作一个存储(在本例中为 3 个)列表的列表?
我想要一个包含 3 个列表的列表,其名称类似于变量:a、b 和 c。
其中 a、b、c 是包含迭代的列表。
提前致谢!
Suppose you have the following dataframe:
data <- data.frame(a=runif(n=348), b=runif(n=348), c=runif(n=348))
and then suppose that you would like to apply the bld.mbb.bootstrap
function (from forecast
package) for every column.
With one column the code will go like this:
reps <- 500L
sim <- bld.mbb.bootstrap(data$a, reps)
Which returns a list of 500.
Question 1: How do I get to change all the names? To say iteration #i (inside the list).
Question 2: I want to make a for loop that does "sim" for all the columns in the dataframe. So I think it'd go like this:
for (i in names(data)){
sim <- bld.mbb.bootstrap(data$i, reps)
}
How can I make a list that stores (in this case 3) lists?
I want a list that contains 3 lists named like the variable: a, b, and c.
where a, b, c are lists that contain the iterations.
Thanks in advance!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
使用
lapply
的基本 R 方法或
A base R approach using
lapply
or