簡體   English   中英

如何為data.frame使用循環(在R中)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM