【发布时间】:2021-08-02 21:00:51
【问题描述】:
Table1:(有数百个ID)
participant_id hpo_term year_of_birth affected_relative genome
123 kidney failure 2000 Y 38
123 hand tremor 2000 Y 38
123 kidney transplant 2000 Y 38
432 hypertension 1980 N 37
432 exotropia 1980 N 37
432 scissor gait 1980 N 37
我有两个查找表:(每个都有数百个值)
肾查:
kidney failure
kidney transplant
hypertension
非肾脏查询(每个都有数百个值):
hand tremor
exotropia
scissor gait
期望的结果:
participant_id kidney_hpo_term non_kidney_hpo_term year_of_birth affected_relative genome
123 kidney failure;kidney transplant hand tremor 2000 Y 38
432 hypertension exotropia;scissor gait 1980 Y 37
最初我尝试过:
library(dplyr); library(tidyr)
pt.data %>%
mutate(kidney = hpo_term %in% kidney.hpo) %>%
pivot_wider(names_from = kidney, values_from = hpo_term,
values_fn = function(x)paste(x,collapse = ";"), values_fill = NA) %>%
setNames(c("participant_id","Kidney","Non.kidney"))
kidney.hpo <- read.delim("kidney_hpo_terms.txt", header = F)
但我得到“values_fn[[value]] 中的错误;'closure' 类型的对象不是子集”
不确定我做错了什么,非常感谢您的帮助。
【问题讨论】:
标签: r dplyr datatable subset lookup