我有以下代码:
install.packages("microbenchmark")
install.packages("readxl")
install.packages("data.table")我想要创建一个可变数量的包名向量,而不必实际编写该向量(这些包名是否已安装)。期望产出:
vector <- c("microbenchmark","readxl", "data.table")我想我应该把包作为字符串提供给vector,然后从那里开始:
input <- 'install.packages("microbenchmark")
install.packages("readxl")
install.packages("data.table")'
vector <- gsub("install.packages\(", " ", input)但它甚至不能正确地创建向量。我该怎么做?
发布于 2022-04-28 12:01:04
为了完整起见,下面是一种使用str_match_all()从stringr包提取所有以双引号"括起来的字符的方法
library(magrittr) # piping used for readability
vector <- stringr::str_match_all(input, '"(.*)"') %>%
extract2(1) %>%
.[, 2]
vector1“微基准”"readxl“"data.table”
str_match_all()返回字符矩阵的列表。因此,需要随后的步骤来提取向量。
数据
input <- 'install.packages("microbenchmark")
install.packages("readxl")
install.packages("data.table")'
input1个"install.packages(\"microbenchmark\")\ninstall.packages(\"readxl\")\ninstall.packages(\"data.table\")“
https://stackoverflow.com/questions/71949123
复制相似问题