我正在研究一种GA算法(用于组合问题),在该算法中,以元组表示的基因最容易使用。我种群中的每个成员都有多个基因,因此我想要一个数据框,该数据框可以保存观察值,其中存在一些原子变量(例如ID和得分),然后某些变量表示元组。我试过用向量,列表和矩阵表示那些元组,但是在所有情况下,R只是cbind
/ rbind
将元组放入数据帧或引发错误。
示例(以相同的基因开始种群的两个成员)
ID<-1:2
Score<-c(0,0)
Gene1<-list(1:3)
Gene2<-list(4:6)
Gene3<-list(7:9)
testing<-data.frame(ID,Score,replicate(2,Gene1),replicate(2,Gene2),replicate(2,Gene3))
Error in data.frame(ID, Score, replicate(2, Gene1), replicate(2, Gene2), :
arguments imply differing number of rows: 2, 3
我希望数据框看起来像这样...
<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9mbURHbi5wbmcifQ==” alt =“在此处输入图像描述”>“ >>
然后,我将可以使用Fitness.Score(testing[,'Gene1'],testing[,'Gene2'],testing[,'Gene3'])
之类的方法来评估人口成员的适合度>
有没有办法让R做到这一点?
我正在研究一种GA算法(用于组合问题),在该算法中,以元组表示的基因最容易使用。我种群中的每个成员都有多个基因,所以我想要一个...
这实际上比我做起来容易得多。使用data.frame
功能会导致rbind
/ cbind
类型的行为。创建data.frame,然后再添加变量不会。
ID<-1:2
Score<-c(0,0)
Gene1<-list(1:3)
Gene2<-list(4:6)
Gene3<-list(7:9)
testing<-data.frame(ID,Score)
testing$Gene1<-replicate(2,Gene1)
testing$Gene2<-replicate(2,Gene2)
testing$Gene3<-replicate(2,Gene3)
View(testing)
您应该下载软件包“集合”,然后将包含元组的变量声明为元组:mydata $ variable