包含元组的数据框

Data frames containing tuples

我正在研究一种 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

我希望数据框看起来像这样...

然后我就可以使用 Fitness.Score(testing[,'Gene1'],testing[,'Gene2'],testing[,'Gene3'])

之类的方法对人口成员的健康状况进行评分

有没有办法让 R 做到这一点?

这实际上比我做的要容易得多。使用 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)

您应该下载包 'sets',然后声明包含元组的变量 as.tuples:mydata$variable<-as.tuples( 在您的数据框中,您可以有这样的条目作为 3 元组的 (1,2,4)。