r - 如何将向量的第i个元素粘贴到向量列表的第i个元素
问题描述
我有一个第 n 个元素的向量和一个具有相同数量元素的列表,每个都是一个向量。对于一个简单的等效示例:
v <- c("a","b")
num1 <- c(1,2,3)
num2 <- c(10,20,30)
numList <- list(num1,num2)
我想要的输出是:
"a1" "a2" "a3" "b10" "b20" "b30"
我可以用 for 循环做到这一点:
output <- vector()
for (i in 1:length(v)) {
output <- c(output, paste0(v[i], numList[[i]]))
}
output
[1] "a1" "a2" "a3" "b10" "b20" "b30"
但是有没有更简单或更聪明的方法,使用lapply
or tidyverse
?我尝试了以下并没有得到我想要的:
lapply(numList, function(x) paste0(v, x))
解决方案
我们可以试试下面的基本 R 代码
> c(sapply(seq_along(v), function(k) paste0(v[k], numList[[k]])))
[1] "a1" "a2" "a3" "b10" "b20" "b30"
推荐阅读
- amazon-web-services - 因此用户在将 Google Signin 与 AWS cognito 一起使用时创建
- jquery - jquery拖动不同形状的div并拖放到容器中
- c# - 静态构造函数中的线程不能立即工作
- powershell - 提取部分txt文件
- python - 如何使用 tf.Print() 在张量内打印 3 个以上的值?
- angular - 对待 API Angular 4
- python - Python:删除每一行中的随机元素
- python - 如何使用 Firebase 在 python 中使用参数路由函数?
- python - python:如何检查用户输入的整数是否匹配列表中的项目?
- php - 使用 laravel5.6 自定义(动态)日志文件名