【发布时间】:2023-01-13 07:25:29
【问题描述】:
我正在尝试创建一个函数 get_CIDname()
每种化合物都有一个指定的 CID,Compound ID,来自PubChem's chemical database。
例如,Acetic Acid is 176和water is 962
我有一个包含这些 CID 列和其他一些字符值列的数据框。我想改变一个新列,将每个 CID 命名为该站点的列标题名称。
例子:
即此标识符列中的所有 962 实例都替换为“水”,所有 176 实例替换为“乙酸”,网站上的主要名称 https://pubchem.ncbi.nlm.nih.gov/compound/CID
示例数据集:
df <- data.frame("Compound" = c(176,29096,6341,8914,5366204,98464,11572,9231,535144,15669393,1738127,1738124), "Value" = rnorm(12, mean = 500000, sd = 600000))
期望的输出:
df <- data.frame("Compound" = c(176,29096,6341,8914,5366204,98464,11572,9231,535144,15669393,1738127,1738124), "Value" = rnorm(12, mean = 500000, sd = 600000),
Match = c("Acetic Acid", "Dihydromyrcenol", etc....))
目前,我有:
get_CIDname <- function(CID){
read_html(paste0("https://pubchem.ncbi.nlm.nih.gov/compound/",
CID))
}
但不知道如何破译 PubChem 网站的 HTML。接下来是什么?这种类型的语法/编程叫什么?
【问题讨论】:
标签: r web-scraping