我有一个嵌套的列表对象cc
.在嵌套列表中,我想找出是否有名为"StartDate"的项,并将名称更新为"OccurenceStartDate".
现在,我可以兴致勃勃地列出名字,找到名字,然后手动更新.有没有更好的办法?我需要使这个过程自动化.
此外,我还需要更新OccurenceStartDate值的格式.我可以手动分配格式.
cc <- list(ConceptSets = list(list(id = 0L, name = "test cs", expression = list(
items = list(list(concept = list(CONCEPT_ID = 1569193L, CONCEPT_NAME = "Cerebral infarction",
STANDARD_CONCEPT = "", STANDARD_CONCEPT_CAPTION = "",
INVALID_REASON = "V", INVALID_REASON_CAPTION = "Valid",
CONCEPT_CODE = "I63", DOMAIN_ID = "Condition", VOCABULARY_ID = "ICD10CM",
CONCEPT_CLASS_ID = "3-char nonbill code"), isExcluded = FALSE,
includeDescendants = TRUE, includeMapped = FALSE))))),
PrimaryCriteria = list(CriteriaList = list(list(ConditionOccurrence = list(
CodesetId = 0L, Age = list(Op = "eq", Value = 15L), StartDate = list(
Op = "bt", Value = structure(17532, class = "Date"),
Extent = structure(18628, class = "Date"))))), ObservationWindow = list(
PriorDays = 0L, PostDays = 0L), PrimaryCriteriaLimit = list(
Type = "First")), QualifiedLimit = list(Type = "First"),
ExpressionLimit = list(Type = "First"), InclusionRules = list(),
CensoringCriteria = list(), CollapseSettings = list(CollapseType = "ERA",
EraPad = 0L), CensorWindow = structure(list(), names = character(0)),
cdmVersionRange = ">=5.0.0")
names(rapply(cc, function(x) head(x)))
names(cc$PrimaryCriteria$CriteriaList[[1]]$ConditionOccurrence)[3] <- "OccurrenceStartDate"
cc$PrimaryCriteria$CriteriaList[[1]]$ConditionOccurrence$OccurrenceStartDate$Value <- cc$PrimaryCriteria$CriteriaList[[1]]$ConditionOccurrence$OccurrenceStartDate$Value %>% format( "%m-%d-%Y")
这不会更新姓名,而只是列出姓名
names(rapply(cc, function(x) head(x))) %>% str_replace_all(pattern = "StartDate","OccurrenceStartDate")