這是設定。我有 vec1 包含 5 個數字。我也有 h5-h9 作為 800 個元素的向量。knot_list 是一個 h5-h9 向量串列,每個 h 向量包含 800 個 0。給定 x,我想用公式 x-(vec[i]) 替換每個 h5,h6,h7,h8,h9 的 800 個元素,在這種情況下 i 是 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 回圈,但語法錯誤。
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 個需要用公式替換的 0。我怎樣才能做到這一點?
uj5u.com熱心網友回復:
在我看來,這就是你要找的東西
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從相同的x(1:800) 中減去 的每個元素并回傳向量串列。由于您想替換每個hin的每個元素list_knot,您可以完全洗掉該串列并重新構建一個新串列。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/419509.html
標籤:
上一篇:檢查R資料框中每個變數的資料型別
