r - 如何在没有循环的情况下生成顺序字符向量?

标签 r

我正在尝试生成一个包含 n 个数字序列(作为字符)的字符向量,每个数字元素之间有 m 个空字符串元素。

我设法使用循环生成向量。有没有一种方法可以在没有循环的情况下更简洁地实现这个,这样会更有效率吗?

sequence = character(0)
n = 3
m = 2

for(i in 1:n){
  sequence <- c(sequence, rep("",m), i)
  i <- i + 1
}

输出是一个向量,如:

c("","","1","","","2","","","3")

最佳答案

这是使用 replapply 的另一种方法。

seq_fun <- function(n, m){
  unlist(lapply(1:n, function(x) c(rep("", times = m), x)))
}

seq_fun(3, 2)
# [1] ""  ""  "1" ""  ""  "2" ""  ""  "3"

关于r - 如何在没有循环的情况下生成顺序字符向量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56651751/

相关文章:

R - plotly - 无法按值对图形进行排序

r - 如何读取 R 中的 Mapinfo 文件

r - 将数据从 PDF 提取到数据框(同时避免动态问题)

r - 按双方共有的组合并数据框

r - 更改密度直方图的 binwidth 以使概率总和为 1

r - 如何在变成因子的变量中保留原始值?

r - 无法在 R 中安装 tseries 和预测包

r - 如何找到两个时间向量的不同元素?

r - 使用 purrr::map 进行递归函数调用

r - 向 ggmap 添加指北针和比例尺的简约方法