【发布时间】:2011-09-04 13:38:07
【问题描述】:
这是我的问题,对我来说很难......
我想生成多个数据集,然后对这些数据集应用一个函数并在单个或多个数据集中输出相应的输出(尽可能)...
我的例子,虽然我需要生成大量的变量和数据集
seed <- round(runif(10)*1000000)
datagen <- function(x){
set.seed(x)
var <- rep(1:3, c(rep(3, 3)))
yvar <- rnorm(length(var), 50, 10)
matrix <- matrix(sample(1:10, c(10*length(var)), replace = TRUE), ncol = 10)
mydata <- data.frame(var, yvar, matrix)
}
gdt <- lapply (seed, datagen)
# resulting list (I believe is correct term) has 10 dataframes:
# gdt[1] .......to gdt[10]
# my function, this will perform anova in every component data frames and
#output probability coefficients...
anovp <- function(x){
ind <- 3:ncol(x)
out <- lm(gdt[x]$yvar ~ gdt[x][, ind[ind]])
pval <- out$coefficients[,4][2]
pval <- do.call(rbind,pval)
}
plist <- lapply (gdt, anovp)
Error in gdt[x] : invalid subscript type 'list'
这不起作用,我尝试了不同的选项。但是想不通...最后决定打扰专家,对不起...
我的问题是:
(1) 是否有可能以这种方式处理这种情况,或者有其他替代方法来处理创建的多个数据集?
(2) 如果这是正确的方法,我该怎么做?
感谢您的关注,我将感谢您的帮助...
【问题讨论】:
标签: r