R 是否可以使用或| |运算符按名称动态选择字段?导入混乱数据

R 是否可以使用或| |运算符按名称动态选择字段?导入混乱数据,r,select,field,uniqueidentifier,fread,R,Select,Field,Uniqueidentifier,Fread,目标是生成一些R代码,使其他人(公众成员)能够轻松地与FDA副作用档案互动,以开发数据挖掘协议,而不必在开始之前破译其中的异常情况。这可能有助于改变未售出或无效药物、未知或隐藏的副作用等情况;开源监视 数据集可能会变得混乱。几乎所有可以改变的东西都会改变;zip文件的文件夹、zip文件名本身、zip中的文件夹名、zip文件夹中的文件名、记录中的字段名更改以及行异常(记录分为两行)。它在数据集中变得更加混乱,但我可以解决数据集中的许多实际问题,以便为其他人简化它们;e、 g.药品名称简化等 我在本

目标是生成一些R代码,使其他人(公众成员)能够轻松地与FDA副作用档案互动,以开发数据挖掘协议,而不必在开始之前破译其中的异常情况。这可能有助于改变未售出或无效药物、未知或隐藏的副作用等情况;开源监视

数据集可能会变得混乱。几乎所有可以改变的东西都会改变;zip文件的文件夹、zip文件名本身、zip中的文件夹名、zip文件夹中的文件名、记录中的字段名更改以及行异常(记录分为两行)。它在数据集中变得更加混乱,但我可以解决数据集中的许多实际问题,以便为其他人简化它们;e、 g.药品名称简化等

我在本垒打,但正在为场名而挣扎。我希望我可以简单地使用fread为列选择分配OR语句,并将其放入用于解压缩原始列的for循环中:

#normal
outcomes <- fread('verbatim.basename', sep = '$', header = TRUE, na.strings = '',
stringsAsFactors = FALSE, verbose = TRUE, 

#attempting to select from one or the field name for column import
select = c('ISR' || 'primaryid', 'OUTC_COD' || 'outc_code'),  
col.names = c(ISR || primaryid = 'patient.id', OUTC_COD' || 'outc_code = 'outcome.code'),

#normal
encoding = 'UTF-8', quote = '\'',  strip.white = TRUE, fill = TRUE,
blank.lines.skip = FALSE, showProgress = TRUE)
“verbatim.basename”是我在循环中获得的文件名。我一直试图让它在显式声明文件名的循环之外工作,在没有OR语句的情况下可以正常工作,然后尝试添加多个选择字段名。我试着用几种不同的方式重新安排,但我真的非常感谢任何帮助

要进一步了解该问题,请执行以下操作:

#these are some of the field header extracts
ISR$OUTC_COD    
primaryid$caseid$outc_code  
primaryid$caseid$outc_cod
我实际上可以纠正这些,因为我知道所有文件中的哪些文件,它们是如何关联的,并且它们不会发生冲突。最终目的是生成一个“键”来撤消更改,这样,如果在select中调用字符串,它将包含收集字段所需的字段标题;e、 g

patient.id <- 'ISR', 'primaryid'
outcome.code <- 'OUTC_COD', 'outc_code', 'outc_cod'

patient.id不是一个直接的答案,但我会用类似(names(df)的东西清理列标题谢谢epi,它可以处理第一组字段标题,但不能处理第二组字段标题,因为有更多字段标题,并且“outc_co”已从第二位移到第三位。(ISR$outc_COD)转到(primaryid$caseid$outc_code)(primaryid$caseid$outc_cod)。正如更新一样,我的临时解决方案是编写一个readLines-writeLines循环来编辑每个文件的第一行。但是如果有任何其他解决方案,我仍然会感兴趣;尽管这很有效,而且如果只需要做一次(编辑存档以供使用),似乎也很合适,与使用纯fread相比,它最初也显著降低了代码的速度。
patient.id <- 'ISR', 'primaryid'
outcome.code <- 'OUTC_COD', 'outc_code', 'outc_cod'
#install.packages('gtools')
#require('gtools')
field.key.to.find <- ask('select field')
ifelse(field.key.to.find == 'patient.id', patient.id,
       ifelse(field.key.to.find == 'outcome.code', outcome.code, re-ask)
#5814344$1010224901$C$KLOR-CON$1$$$$$$$$
#5814345$1010186646$PS$OPANA ER$1$$$U$U$$$21610$
#5814346$1010186647$PS$ROZEREM$1$ORAL$8MG, QHS, PER ORAL; <--------------------------------------------------- line 65,132.
#8 MG, 1/2 TABLET QHS, PER ORAL ;  8 MG, 1/4 TABLET QHS, PER ORAL ;   8 MG, QHS,$D$D$C11806$20071201$21782$ <- the rest of line 65,132 on line 65,133.
#5814346$1010225044$C$SEROQUEL$1$$$$$$$$
#5814346$1010225045$C$KLONOPIN$1$$$$$$$$

drugs_temp <- readLines('faers\\ascii\\DRUG08Q3.TXT',-1)
drugs_temp[65132] <- '5814346$1010186647$PS$ROZEREM$1$ORAL$8MG, QHS, PER ORAL;8 MG, 1/2 TABLET QHS, PER ORAL ;8 MG, 1/4 TABLET QHS, PER ORAL ;8 MG, QHS,$D$D$C11806$20071201$21782$'
drugs_temp[276543] <- '5871230$1010430059$SS$DOMINAL /00018902/ (DOMINAL FORTE - PROTHIPENDYL) 80 MG (NOT SPECIFIED$2$ORAL$(80 MG 1X NOT THE PRESCRIBED AMOUNT ORAL)$D$D$$$$'
drugs_temp[369369] <- '5897624$1010500442$PS$INNOHEP$1$SUBCUTANEOUS$(1000 IU,DAILY), SUBCUTANEOUS$N$D$$$20484$'
drugs_temp <- drugs_temp[-(65133)]
drugs_temp <- drugs_temp[-(276544)]
drugs_temp <- drugs_temp[-(369368)]
writeLines(drugs_temp,'faers\\ascii\\DRUG08Q3fixed.TXT')
rm(drugs_temp)
a.not.entirely.consistent <- 'uniqueindentifier'