Возьмите среднее значение последнего столбца (C5) mf на основе каждого фактора (в данном случае от C1 до C4, если файлы данных разные, поэтому нет необходимости что-либо менять, они должны изменяться автоматически, потому что мы будем использовать циклы для присвоения имени и расчета.
результат будет таким: Среднее значение C1 при уровне 1 равно 5,5 Среднее значение C1 при уровне 2 равно 3,5 Среднее значение C2 при уровне 1 равно 6,5 Среднее значение C2 при уровне 2 равно 2,5 Среднее значение C3 при уровне 1 равно 4 Среднее значение C3 при уровне 2 равно 5
Я хочу быть общей программой, поэтому, когда мы изменим данные, в программе не будет никаких изменений, сумма будет основана на новых данных. Ни один фактор и уровень не могут быть изменены в новых данных.
# call excel file containing orthogonal profile
pf <- read.csv(file="pfile2.csv",head=FALSE,sep=",")
# call excel file response / data
rs <- read.csv(file="respf2.csv",head=FALSE,sep=",")
# Merge orthogonal arrays and response in a single file
mf= merge(pf, rs, by="V1")
# Change the name of the new file/merge file all column contain word Cx
names(mf)<-sprintf("C%d",1:length(mf))
# total variable and total data
tc=NCOL(mf)
tr=NROW(mf)
pf
V1 V2 V3 V4
1 1 1 1 1
2 2 1 1 2
3 3 1 2 1
4 4 1 2 2
5 5 2 1 1
6 6 2 1 2
7 7 2 2 1
8 8 2 2 2
rs
V1 V2
1 1 8
2 2 7
3 3 4
4 4 3
5 5 6
6 6 5
7 7 2
8 8 1
mf
C1 C2 C3 C4 C5
1 1 1 1 1 8
2 2 1 1 2 7
3 3 1 2 1 4
4 4 1 2 2 3
5 5 2 1 1 6
6 6 2 1 2 5
7 7 2 2 1 2
8 8 2 2 2 1
tc
[1] 5
tr
[1] 8