相关疑难解决方法(0)

如何制作数据框列表?

如何制作数据框列表以及如何从列表中访问每个数据框?

例如,如何将这些数据框放在列表中?

d1 <- data.frame(y1 = c(1, 2, 3),
                 y2 = c(4, 5, 6))
d2 <- data.frame(y1 = c(3, 2, 1),
                 y2 = c(6, 5, 4))
Run Code Online (Sandbox Code Playgroud)

r list dataframe r-faq

171
推荐指数
7
解决办法
19万
查看次数

将多个文件读入多个数据帧

在d:\文件夹中,我有很多Stata文件,例如data_aa_1.dta,data_aa_2.dta,data_aa_3.dta data_bb_1.dta,data_bb_2.dta,data_bb_3.dta,data_cc_1.dta ....我想转换这些文件获得与R中的dta文件一样多的数据帧.所以,我相信我必须循环c("aa","bb","cc")和c(1:3).我尝试过以下内容:

library(foreign)

for(i in c("aa","bb","cc"){
    for (j in 1:3){
        data_[i]_[j] <-read.dta("d:/folder/data_[i]_[j].dta")
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,这看起来不对 - 当然.

任何帮助将不胜感激.

谢谢!

for-loop r stata

3
推荐指数
2
解决办法
3369
查看次数

用lapply替换for循环中的rbind?(地狱的第二圈)

我在优化一段R代码时遇到了麻烦.以下示例代码应说明我的优化问题:

一些初始化和函数定义:

a <- c(10,20,30,40,50,60,70,80)
b <- c(“a”,”b”,”c”,”d”,”z”,”g”,”h”,”r”)
c <- c(1,2,3,4,5,6,7,8)
myframe <- data.frame(a,b,c)
values <- vector(length=columns)
solution <- matrix(nrow=nrow(myframe),ncol=columns+3)

myfunction <- function(frame,columns){
athing = 0
   if(columns == 5){
   athing = 100
   }
   else{
   athing = 1000
   }
value[colums+1] = athing
return(value)}
Run Code Online (Sandbox Code Playgroud)

有问题的for循环看起来像这样:

columns = 6
for(i in 1:nrow(myframe){
   values <- myfunction(as.matrix(myframe[i,]), columns)
   values[columns+2] = i
   values[columns+3] = myframe[i,3]
   #more columns added with simple operations (i.e. sum)

   solution <- rbind(solution,values)
   #solution is a large matrix from outside the for-loop
} …
Run Code Online (Sandbox Code Playgroud)

optimization for-loop r lapply rbind

3
推荐指数
1
解决办法
6345
查看次数

标签 统计

r ×3

for-loop ×2

dataframe ×1

lapply ×1

list ×1

optimization ×1

r-faq ×1

rbind ×1

stata ×1