我想知道如何將我的in看跌期權變成我想要的out看跌期權?
如您所見,unlist()添加了一個.所以只有.byunlist()必須被洗掉而不是任何其他.并替換為/.
in <- list(a.study = c(scale.1 = TRUE, outcome = FALSE), scale.1 = c(a.study = FALSE, outcome = FALSE))
out <- unlist(Filter(length,lapply(names(in),function(i) names(which(unlist(in[i]) == TRUE)))))
# [1] "a.study.scale.1" # Current output
desired_output <- c("a.study/scale.1") # Desired output
uj5u.com熱心網友回復:
稍微改變設定:
unlist(Filter(
length,
lapply(
names(input),
\(i) {
k <- which(input[[i]])
if (length(k)) paste0(i, '/', names(input[[i]])[k])
}
)
))
[1] "a.study/scale.1"
uj5u.com熱心網友回復:
像下面這樣的?
library(tidyverse)
inp <- list(a.study = c(scale.1 = TRUE, outcome = FALSE), scale.1 = c(a.study = FALSE, outcome = FALSE))
out <- unlist(Filter(length,lapply(names(inp),function(i) names(which(unlist(inp[i]) == TRUE)))))
out %>%
str_replace("(?<=y)\\.(?=s)", "\\/")
#> [1] "a.study/scale.1"
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/345575.html
上一篇:多載istream運算子
下一篇:不知道如何回傳輸入
