2015-06-01 2 views
1
rm(list=ls()) 
myData <-read.csv(file="C:/Users/Documents/myfile.csv",header=TRUE, sep=",") 
for(i in names(myData)) 
{ 
    colNum <- grep(i,colnames(myData)) ##asigns a value to each column 
    if(is.numeric(myData[3,colNum])) ##if row 3 is numeric, the entire column is 
    { 
     ##print(nxeData[,i])   
     fit <- lm(myData[,i] ~ etch_source_Avg, data=myData) #does a regression for each column in my csv file against my independent variable 'etch' 
     rsq <- summary(fit)$r.squared 
    } 
} 

Я работаю над делает петлю регрессии для нескольких столбцов и сравнивая их с одной зависимой переменной колонкой. У меня есть большая часть написанного кода, но теперь я не уверен, как распечатать мое квадратное значение R для каждого столбца против параметра etch_source_Avg, включая имя этого столбца. В идеале было бы что-то выглядеть следующим образом:цикла Регресса в R для данных фреймов

.765 «имя переменной 1»

.436 «имя переменной 2» ... и так далее

+0

Привет, Якоб: Обычно я никогда этого не сделаю, но у меня есть уже написанный ответ на ваш вопрос, связанный с простотой удаления регрессий на подмножествах данных, которые могут быть полезны для вас, и я хотел убедиться, что он дошел до вас на всякий случай это было полезно. [Здесь] (http://pastebin.com/HPjJ9Wzz) - это код для моего ответа. Я также был бы рад опубликовать его, если вы восстановите свой вопрос или перестанете беспокоить вас, если хотите. –

+0

@DavidRobinson Спасибо за помощь !! Я не хотел нарушать какие-либо правила форума, поэтому я взял его. Не стесняйтесь публиковать его в [link] (http://stackoverflow.com/questions/30623230/regression-of-a-data-frame-with-multiple-factor-groupings), и я был бы рад выбрать его как лучший ответ. Вы меня совсем не беспокоите :) –

ответ

1

здесь быстро переписать код, это должно дать вам то, что вы ищете. Назначение значения каждого столбца не требуется, так как myData должен быть файлом data.frame, поэтому вы можете получить доступ к каждому столбцу с его именем столбца.

rm(list=ls()) 
myData <-read.csv(file="C:/Users/Documents/myfile.csv",header=TRUE, sep=",") 
for(i in names(myData)) 
{ 
    if(is.numeric(myData[3,i])) ##if row 3 is numeric, the entire column is 
    {  
     fit <- lm(myData[,i] ~ etch_source_Avg, data=myData) #does a regression for each column in my csv file against my independent variable 'etch' 
     rsq <- summary(fit)$r.squared 
     writelines(paste(rsq,i,"\n")) 
    } 
} 

Надеюсь, это поможет.

+0

Большое вам спасибо! идеально. –

Смежные вопросы