操作字符向量:删除和添加引号,添加字符串
Manipulating character vectors: removing and adding quotes, adding strings
我有 vector_1
,我想用代码对其进行操作,以便自动生成 vector_2
和 vector_3
。
# What I have
> vector_1 <- c("Group_A", "Group_B", "Group_C", "Group_D")
> vector_1
[1] "Group_A" "Group_B" "Group_C" "Group_D"
我想实现以下目标:
# What I want to achieve by manipulating vector_1:
vector_2 = c("Group_A, Group_B, Group_C, Group_D")
vector_3 = c(" ", "Group_A" = 3, "Group_B" = 3, "Group_C" = 3, "Group_D" = 3))
我假设 noquote()
是一个起点,但后来我卡住了。
> vector_x <- noquote(vector_1)
> vector_x
[1] Group_A Group_B Group_C Group_D
# Here I'm stuck...
Base R 可以,但我更喜欢在有或没有管道的 tidyverse 中工作。
--- 编辑 ---
在评论中跟进 Sotos 的问题:
我想将 vector_3
用作 kableExtra
中的 header。
而不是写...
kbl(
[hidden code] %>%
add_header_above(c(" ", "Group_A"=3, "Group_B"=3, "Group_C"=3, "Group_D"=3)) %>%
[more_code]
)
我无法制作可在 PDF 之外运行的可重现示例。这是 link 到 add_header_above()
:
https://www.rdocumentation.org/packages/kableExtra/versions/1.3.4/topics/add_header_above
vector_2:
paste(vector_1, collapse = ", ")
# [1] "Group_A, Group_B, Group_C, Group_D"
和vector_3:
setNames(c(" ", rep(3, length(vector_1))), c("", vector_1))
# Group_A Group_B Group_C Group_D
# " " "3" "3" "3" "3"
您可以将 toString
用于 vector_2
,将 setNames
用于 vector_3
:
toString(vector_1)
# [1] "Group_A, Group_B, Group_C, Group_D"
c(" ", setNames(rep(3, 4), vector_1))
# Group_A Group_B Group_C Group_D
# " " "3" "3" "3" "3"
我有 vector_1
,我想用代码对其进行操作,以便自动生成 vector_2
和 vector_3
。
# What I have
> vector_1 <- c("Group_A", "Group_B", "Group_C", "Group_D")
> vector_1
[1] "Group_A" "Group_B" "Group_C" "Group_D"
我想实现以下目标:
# What I want to achieve by manipulating vector_1:
vector_2 = c("Group_A, Group_B, Group_C, Group_D")
vector_3 = c(" ", "Group_A" = 3, "Group_B" = 3, "Group_C" = 3, "Group_D" = 3))
我假设 noquote()
是一个起点,但后来我卡住了。
> vector_x <- noquote(vector_1)
> vector_x
[1] Group_A Group_B Group_C Group_D
# Here I'm stuck...
Base R 可以,但我更喜欢在有或没有管道的 tidyverse 中工作。
--- 编辑 ---
在评论中跟进 Sotos 的问题:
我想将 vector_3
用作 kableExtra
中的 header。
而不是写...
kbl(
[hidden code] %>%
add_header_above(c(" ", "Group_A"=3, "Group_B"=3, "Group_C"=3, "Group_D"=3)) %>%
[more_code]
)
我无法制作可在 PDF 之外运行的可重现示例。这是 link 到 add_header_above()
:
https://www.rdocumentation.org/packages/kableExtra/versions/1.3.4/topics/add_header_above
vector_2:
paste(vector_1, collapse = ", ")
# [1] "Group_A, Group_B, Group_C, Group_D"
和vector_3:
setNames(c(" ", rep(3, length(vector_1))), c("", vector_1))
# Group_A Group_B Group_C Group_D
# " " "3" "3" "3" "3"
您可以将 toString
用于 vector_2
,将 setNames
用于 vector_3
:
toString(vector_1)
# [1] "Group_A, Group_B, Group_C, Group_D"
c(" ", setNames(rep(3, 4), vector_1))
# Group_A Group_B Group_C Group_D
# " " "3" "3" "3" "3"