[英]How use a loop for data.frame (in R)
我有以下代碼:
#load library foreign and mass
library(foreign)
library(MASS)
#read spss file
read.spss("C:\\Users\\Morisato\\Desktop\\Modelação Estatistica e Análise de Dados\\1º Ano\\1º Semestre\\Análise de Dados com Software Estatistico\\Exercicios Regressão Linear\\imc_mest.sav")
#save data frame in a variable dados
dados= data.frame(read.spss("C:\\Users\\Morisato\\Desktop\\Modelação Estatistica e Análise de Dados\\1º Ano\\1º Semestre\\Análise de Dados com Software Estatistico\\Exercicios Regressão Linear\\imc_mest.sav"))
#set seed
set.seed(5)
Y <-540
n <-30
我想做一個循環,提取30個元素的樣本並將其執行50次,然后嘗試這樣做:
#create a matrix with 50 rows (sample) and 30 cols (the number os elements)
result <- matrix(ncol=30,nrow=50)
for (i in 1:50){
result[i,1:30] <- sample(Y, n, replace=F)
} # end for
但是它僅顯示元素的數量,但是我想保存每個樣本的數據框,並也保存這些樣本的置信區間。
以下命令將創建一個長度為50的列表。每個列表元素將由數據幀dados
的隨機子集和n
行組成。 (我假設Y
代表數據集的行dados
。)
result <- replicate(50, dados[sample(Y, n), ], simplify = FALSE)
然后,您可以應用此代碼來獲得線性回歸系數的置信區間:
lapply(result, function(x) confint(lm(NHHD ~ ATD + DASU + DAPE + NRX + MES, x)))
這還將返回長度為50的列表。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.