У меня есть этот кусок кода, который нуждается в некотором упорядочении:код очистки в R
SlopeSBS00<-lm(SBSNy$SBS00[c(1:10,17:41)] ~ Numbers[c(1:10,17:41)])$coeff[2]
SlopeSBS01<-lm(SBSNy$SBS01[c(1:10,17:41)] ~ Numbers[c(1:10,17:41)])$coeff[2]
SlopeSBS02<-lm(SBSNy$SBS02[c(1:10,17:41)] ~ Numbers[c(1:10,17:41)])$coeff[2]
SlopeSBS03<-lm(SBSNy$SBS03[c(1:10,17:41)] ~ Numbers[c(1:10,17:41)])$coeff[2]
...
SlopeSBS23<-lm(SBSNy$SBS23[c(1:10,17:41)] ~ Numbers[c(1:10,17:41)])$coeff[2]
Здесь SBSNy это трансформированный вариант переменной SBS, которая нормализуется, и чисел вектор чисел от 1:41. Итак, в основном, что делает этот код для каждой строки, выполняется линейная регрессия SBSNy для каждого SBS00 для SBS23, для столбцов 1:10 и 17:41. Coeff [2] экспортирует только Склон, который здесь необходим.
Я забыл добавить что-то
SlopeSBS00 к SlopeSBS23 должен быть объединены в data.frame: что-то вроде этого: SlopeSBS < -data.frame (SlopeSBS00, SlopeSBS01, ..., SlopeSBS23)
Очень ценивший любую форму руководства или помочь с этой частью кода примера
данных
SBSNy содержит data.frame с 41 наблюдений и 25 переменных:
Numbers SBS00 SBS01 SBS02 ... SBS23
1 1.600 1.735 1.644 ... 1.328
2 1.486 1.692 1.522 ... 1.301
3 1.421 1.597 1.370 ... 1.321
... ... ... ... ... ...
41 1.286 1.395 1.182 ... 1.206
В качестве примера на коде для производства данных, хотя эти данные с диапазоном от 0-100:
df1 <- as.data.frame(matrix(sample(0:100,24*41,replace=TRUE),nrow=41, ncol=24))
Numbers <-c(1:41)
SBSNy<-data.frame(Numbers,df1)
names(SBSNy)<-c("Numbers",sprintf('SBS%02d',0:23))
Try 'data.frame (lapply (SBSNy [с (1: 10,17: 41), - 1], функция (x) lm (x ~ SBSNy $ Числа [ c (1:10, 17:41)]) $ coef [2])) ' – akrun