R 粘贴&x2B;带两个向量的斜体

R 粘贴&x2B;带两个向量的斜体,r,R,我有两个向量-vectorvarnames包含变量的名称,vectordescs包含它们的描述。我想将它们粘贴在一起,但在条形图中的描述应为斜体 我现在有这个: labels <- paste0(varnames, "\n", descs) 标签让我们假设varmanes和descs的一些值: varnames = c("a", "b", "c") descs = c("desc a", "desc b", "desc c") 然后,您可以使用parse函数获得字符串的表达式: gsu

我有两个向量-vector
varnames
包含变量的名称,vector
descs
包含它们的描述。我想将它们粘贴在一起,但在条形图中的描述应为斜体

我现在有这个:

labels <- paste0(varnames, "\n", descs)

标签让我们假设
varmanes
descs
的一些值:

varnames = c("a", "b", "c")
descs = c("desc a", "desc b", "desc c")
然后,您可以使用
parse
函数获得字符串的表达式:

gsub(" ", "~", descs) %>% 
  paste('"',varnames, '\n "*italic(',.,')', sep = "") %>%
   parse(text = .) -> eNames

eNames
#expression("a
# "*italic(desc~a), "b
# "*italic(desc~b), "c
# "*italic(desc~c))
请注意,我使用了
dplyr
的管道(即
%>%
)只是为了代码清晰。下面是一个使用上述结果和
ggplot
的示例:

df <- data.frame(dose=c("D0.5", "D1", "D2"),
                 len=c(4.2, 10, 29.5))

ggplot(data=df, aes(x=dose, y=len)) +
  geom_bar(stat="identity") + 
  scale_x_discrete(labels = eNames) +
  theme(text = element_text(size = 20)) +
  coord_flip() +
  labs(x = '')

df假设
varmanes
descs
的一些值:

varnames = c("a", "b", "c")
descs = c("desc a", "desc b", "desc c")
然后,您可以使用
parse
函数获得字符串的表达式:

gsub(" ", "~", descs) %>% 
  paste('"',varnames, '\n "*italic(',.,')', sep = "") %>%
   parse(text = .) -> eNames

eNames
#expression("a
# "*italic(desc~a), "b
# "*italic(desc~b), "c
# "*italic(desc~c))
请注意,我使用了
dplyr
的管道(即
%>%
)只是为了代码清晰。下面是一个使用上述结果和
ggplot
的示例:

df <- data.frame(dose=c("D0.5", "D1", "D2"),
                 len=c(4.2, 10, 29.5))

ggplot(data=df, aes(x=dose, y=len)) +
  geom_bar(stat="identity") + 
  scale_x_discrete(labels = eNames) +
  theme(text = element_text(size = 20)) +
  coord_flip() +
  labs(x = '')
df可能重复的可能重复的