[R]中用于数据帧数组的方法
我正在寻找一种最佳做法,以存储在几个不同值上执行的评估的多个向量结果。目前,我的工作代码执行以下操作:[R]中用于数据帧数组的方法,r,dataframe,R,Dataframe,我正在寻找一种最佳做法,以存储在几个不同值上执行的评估的多个向量结果。目前,我的工作代码执行以下操作: q <- 55 value <- c(0.95, 0.99, 0.995) a <- rep(0,q) # Just initialize the vector b <- rep(0,q) # Just initialize the vector for(j in 1:length(value)){ for(i in 1:q){ a[i]<-rnorm
q <- 55
value <- c(0.95, 0.99, 0.995)
a <- rep(0,q) # Just initialize the vector
b <- rep(0,q) # Just initialize the vector
for(j in 1:length(value)){
for(i in 1:q){
a[i]<-rnorm(1, i, value[j]) # just as an example function
b[i]<-rnorm(1, i, value[j]) # just as an example function
}
df[j] <- data.frame(a,b)
}
q我不太确定你想做什么,所以请告诉我这是否是你想要的
q = 55
value <- c(sd95=0.95, sd99=0.99, sd995=0.995)
a = sapply(value, function(v) {
rnorm(q, 1:q, v)
})
这次我们对q
有两个不同的值,我们将上面的sapply
代码包装到另一个调用sapply
中。内部sapply
执行与以前相同的操作,但现在它从外部sapply
获取q
的值(使用虚拟变量i
)。我们正在创建两个数据帧,一个称为a
,另一个称为b
a
有10行,b
有20行(由于我们在q
中设置了值)。两个数据帧都存储在名为df.list
的列表中 我想不清楚你在找什么。首先,值
不包含级别
,因此请小心使用术语。其次,您根本没有使用data.frames。第三,如果你只想对a
和b
的元素应用一个函数,你可以使用sapply
。对于值与级别的关系,我很抱歉,我起草了这篇文章,然后意识到R使用级别作为关键字并试图更改它。我使用rnorm(1,I,value[j])作为一组更复杂的计算的占位符,而不是(imho)适用于这个问题。我试图实现的是创建一个对象,该对象将包含所有三个计算值数据集的数据。该对象将被传递到报告函数以创建我需要的图形。
q <- list(a=10, b=20)
value <- list(sd95=0.95, sd99=0.99, sd995=0.995)
df.list = sapply(q, function(i) {
sapply(value, function(v) {
rnorm(i, 1:i, v)
})
})