这是布景。我有包含5个数字的vec1。我也有h5-h9作为800元素的矢量。knot_list是一个h5-h9向量的列表,每小时包含800个向量.给定x,我想用公式x-(veci)替换每个h5、h6、h7、h8、h9的800个元素,这里我是1:5。
vec1 <- c(1, 2, 3,4,5)
vec1 <- list(vec1) # needed for my real code
h5=rep(0,800);h6=h5;h7=h5;h8=h5;h9=h5
list_knot<- list(h5,h6,h7,h8,h9)
list_length <- length(list_knot) # 5
x=seq(from=1,to=800,length.out=800)是否有办法使上述公式替换列表中每个元素中的每个向量值?我试着做循环,但是语法是错误的。
for (i in 1:list_length){
print(i)
for (j in 1:length(seq(0,800))){
list_knot[[i]][[j]] = x-vec1[[1]][[i]]^3
}
}list_knot是在包含5个向量的列表中设置的。每个向量都有800 s,需要用公式替换。我该怎么做?
发布于 2022-01-23 06:20:58
在我看来,这就是你想要的
vec1 <- list(c(1, 2, 3, 4, 5)) # as per your requirement
list_knot <- lapply(vec1[[1]], function(v, x) x - v^3, x = 1:800),即从相同的vec1 (1:800)中减去每个x元素,并返回一个向量列表。由于您希望替换list_knot中每个list_knot的每个元素,所以您可以完全删除该列表并构造一个新的列表。
https://stackoverflow.com/questions/70819396
复制相似问题