R:根据在另一列中检测到的字符串从一列中提取数据
我有一个大的数据集要总结。 这些数据是健康记录,每个人都检查过许多器官/组织,诊断以叙述形式输入。我想找到一些关键的诊断术语,然后我想知道哪些器官与诊断相关 范例 (所有条目都转换为字符串) 数据帧1R:根据在另一列中检测到的字符串从一列中提取数据,r,string,R,String,我有一个大的数据集要总结。 这些数据是健康记录,每个人都检查过许多器官/组织,诊断以叙述形式输入。我想找到一些关键的诊断术语,然后我想知道哪些器官与诊断相关 范例 (所有条目都转换为字符串) 数据帧1 Organ Diagnosis lungs interstitial pneumonia liver hepatic congestion ; diffuse cerebrum traumatic disruption and he
Organ Diagnosis
lungs interstitial pneumonia
liver hepatic congestion ; diffuse
cerebrum traumatic disruption and hemorrhage
adrenal gland focal hemorrhage
数据框架2
Keywords
congestion
hemorrhage
trauma
pneumonia
我想在dataframe1$Diagnosis
中搜索与dataframe2$Keywords
匹配的字符串,
对于每个匹配,返回在dataframe1$Organe
的相应行中输入的器官
数据结构
dataframe1我们可以使用grep
sapply(dataframe2$Keywords, function(x)
toString(trimws(dataframe1[,1][grep(x, dataframe1[,2])])))
我们可以使用grep
sapply(dataframe2$Keywords, function(x)
toString(trimws(dataframe1[,1][grep(x, dataframe1[,2])])))
我认为返回与什么匹配的堆叠列表可能很有价值,如:
stack(
sapply(dataframe2$Keywords,
function(x) dataframe1$Organ[grepl(x, dataframe1$Diagnosis)])
)
# values ind
#1 liver congestion
#2 cerebrum hemorrhage
#3 adrenal gland hemorrhage
#4 cerebrum trauma
#5 lungs pneumonia
我认为返回与什么匹配的堆叠列表可能很有价值,如:
stack(
sapply(dataframe2$Keywords,
function(x) dataframe1$Organ[grepl(x, dataframe1$Diagnosis)])
)
# values ind
#1 liver congestion
#2 cerebrum hemorrhage
#3 adrenal gland hemorrhage
#4 cerebrum trauma
#5 lungs pneumonia
dataframe1$1非常糟糕!dataframe1$1非常糟糕!