我正在尝试从主向量创建子向量。每个子向量将由主向量中的下一个后续值组成。
我正在尝试避免循环。 x
是输入,我希望输出为vec_1
,vec_2
,依此类推。
x<-c(23,45,32,45,1,67,89,92,101,5,63,42,65)
vec_1 <- c(23,45)
vec_2 <- c(23,45,32)
vec_3 <- c(23,45,32,45)
vec_4 <- c(23,45,32,45,1)
我试图以此方式生成带有索引的字符串向量。
我无法将字符串从"1:5"
转换为c(1:5)
。
x<-c(23,45,32,45,1,67,89,92,101,5,63,42,65)
a<-paste("1:",c(5:length(x)),sep="")
x[as.integer(a[1])] ###This does not work
答案 0 :(得分:5)
使用 exports.handler = function(event, context) {
console.log('Lambda B Received event:', JSON.stringify(event, null,
2));
//context.succeed(event.message);
var obj = { name : "123" , city : "New York" };
const response = {
statusCode: 200,
body: JSON.stringify(obj)
};
return response;
//var pullResults = JSON.parse(response.body);
//console.log(pullResults.name);
};
split
答案 1 :(得分:3)
我们可以使用lapply
并将x
的值子集来创建向量列表。
lapply(seq_along(x), function(p) x[seq_len(p)])
#[[1]]
#[1] 23
#[[2]]
#[1] 23 45
#[[3]]
#[1] 23 45 32
#[[4]]
#[1] 23 45 32 45
#[[5]]
#[1] 23 45 32 45 1
#....
如果您想给他们命名,可以
a1 <- lapply(seq_along(x), function(p) x[seq_len(p)])
a1 <- setNames(a1, paste0("vec", seq_len(length(x))))
,并且可以使用其名称分别访问每个人。
a1[["vec1"]]
#[1] 23
a1[["vec2"]]
#[1] 23 45
您也可以对map
做同样的事情
purrr::map(seq_along(x), function(p) x[seq_len(p)])