Используя этот набор данных:
tf <- data.frame(formant=c("F1","F2"),vowel=c('a', 'e', 'i', 'o', 'u'),IL=rnorm(100))
vowel<-c('a', 'e', 'i', 'o', 'u')
Тогда цикл for будет:
for (i in vowel){
assign(paste("F1",i,sep=""),subset(tf, tf$vowel==i & tf$formant=='F1')$IL)
assign(paste("F2",i,sep=""),subset(tf, tf$vowel==i & tf$formant=='F2')$IL)
}
F1e
F2a
Другой вариант, использующий plyr:
library(plyr)
foo<-dlply(tf,.(formant,vowel),function(x)x$IL)
foo$F1.e
foo$F2.a
Но splitMarek, вероятно, лучший способ сделать это:)