在R中,我想根据条件(比如虹膜数据集中的Species变量)拆分数据框,然后为每个列我想将它们转换为list,这允许我将它作为结构输出到matlab中,我试过了这与基础包使用 split 命令,如何理解 split 命令中使用的 interaction 参数,以获得我想要的12个切片?如何使用dplyr包实现这一目标?

data <- split(unlist(iris[,c(1:4)]), f=interaction(iris$Species, 
rep(names(iris)[c(1:4)], each=150)))
length(data)
data
names(data)<-gsub("\\.", "_", names(data_list1))
library(rmatio)
write.mat(data, 'demo.mat')