我目前正在尝试将普通实践诊所的预约指定为GP和其他医疗保健提供者。我想为此创建一个新列并执行以下操作
如果上一栏说明了其GP预约,请将GP
放入新栏目
如果上一栏说明其他HCP约会,请将Other HCP
放入新栏目
如果前一列中有空白条目,请查看包含已知GP约会的第二个data.frame
中的列表。如果它与该列中的任何条目匹配,请指定为GP
如果前一列中有空白条目,请查看包含已知其他HCP约会的第二个data.frame
中的列表。如果它与该列中的任何条目匹配,请指定为Other HCP
我试着这样做。请注意,appts
是data.frame
我要将GP
或other HCP
放入,gp appts
和ohcp appts
是约会列表这让我可以指定条目是否为空白
appts$hcpdesignation <-NA
appts$hcpdesignation [appts$hcpcat == "GP"] <- "GP"
appts$hcpdesignation [appts$hcpcat == "Other HCP"] <- "Other HCP"
appts$hcpdesignation [appts$V11 == "" & appts$V10 == gpappts$apptype] <- "GP"
appts$hcpdesignation [appts$V11 == "" & appts$V10 == ohcpappts$apptype] <- "Other HCP"
我想错误的部分是appts$V10 == ohcpappts$apptype
,但我不知道怎么说&#34;如果此单个条目与此列中的任何条目匹配&# 34;
答案 0 :(得分:0)
1:我认为您正在寻找%in%
运营商。
2:我不确定您为什么要在前两个测试中测试列hcpcat
,然后在后两个测试中测试V11
。您的逐步指示说测试所有4个测试的“上一列”。我认为这是一个错误。
## generate data
set.seed(2L);
div <- sample(c(T,F),10L,T);
N <- 20L;
gpappts <- data.frame(apptype=letters[1:10][div],stringsAsFactors=F);
ohcpappts <- data.frame(apptype=letters[1:10][!div],stringsAsFactors=F);
appts <- data.frame(hcpcat=sample(c('GP','Other HCP',''),N,T),V10=sample(letters[1:12],N,T),stringsAsFactors=F);
## solution
appts$hcpdesignation <- NA;
appts$hcpdesignation[appts$hcpcat=='GP'] <- 'GP';
appts$hcpdesignation[appts$hcpcat=='Other HCP'] <- 'Other HCP';
appts$hcpdesignation[appts$hcpcat=='' & appts$V10%in%gpappts$apptype] <- 'GP';
appts$hcpdesignation[appts$hcpcat=='' & appts$V10%in%ohcpappts$apptype] <- 'Other HCP';
## results
gpappts;
## apptype
## 1 a
## 2 d
## 3 g
## 4 i
ohcpappts;
## apptype
## 1 b
## 2 c
## 3 e
## 4 f
## 5 h
## 6 j
appts;
## hcpcat V10 hcpdesignation
## 1 Other HCP a Other HCP
## 2 GP b GP
## 3 j Other HCP
## 4 GP k GP
## 5 Other HCP g Other HCP
## 6 h Other HCP
## 7 k <NA>
## 8 GP d GP
## 9 Other HCP i Other HCP
## 10 GP b GP
## 11 Other HCP l Other HCP
## 12 Other HCP d Other HCP
## 13 b Other HCP
## 14 GP b GP
## 15 Other HCP l Other HCP
## 16 Other HCP j Other HCP
## 17 GP l GP
## 18 Other HCP e Other HCP
## 19 g GP
## 20 GP j GP