gpt4 book ai didi

r - 将数据框转换为列表

转载 作者:行者123 更新时间:2023-12-01 07:26:46 25 4
gpt4 key购买 nike

我正在尝试从数据框到 R 中的列表结构(我知道从技术上讲数据框是一个列表)。我有一个包含引用化学品及其机制不同目标的数据框。例如,雌激素是一种雌激素受体激动剂。我想要的是将数据框转换为列表,因为我厌倦了键入以下内容:

refchem$chemical_id[refchem$target=="AR" & refchem$mechanism=="Agonist"]

每次我需要访问特定引用化学品的列表时。我更愿意通过以下方式获取化学品:
refchem$AR$Agonist

我正在寻找一个通用的答案,尽管我给出了一个简化的例子,因为并非所有的目标都有所有的机制。

这很容易用循环来完成:
example <- data.frame(target=rep(c("t1","t2","t3"),each=20),
mechan=rep(c("m1","m2"),each=10,3),
chems=paste0("chem",1:60))
oneoption <- list()
for(target in unique(example$target)){
oneoption[[target]] <- list()
for(mech in unique(example$mechan)){
oneoption[[target]][[mech]] <- as.character(example$chems[ example$target==target & example$mechan==mech ])
}
}

我只是想知道是否有更聪明的方法来做到这一点。我尝试使用 lapply 并没有取得任何进展。

最佳答案

使用 split :

split(refchem, list(refchem$target, refchem$mechanism))

应该做的伎俩。

新的访问方式是 refchem$AR.Agonist

关于r - 将数据框转换为列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18923518/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com