我正在尝试在 R 中并行化以下过程:
df <- data.frame(col1 = c("A","B","C"), col2 = c("D","E","F"))
mylist <- list(c(1:4),c(1:7),c(1:5))
df$col3 <- NA
df$col4 <- NA
for(i in 1:nrow(df))
{
df$col3[i] = list(mylist[[i]])
df$col4[i] = length(unlist(df$col3[i]))
}
我通过修改上面的代码并使用以下方法尝试了以下方法:
library(future.apply)
func <-function(n)
{
for(i in n)
{
df$col3[i] = list(mylist[[i]])
df$col4[i] = length(unlist(df$col3[i]))
}
}
future_lapply(1:3,func)
上述方法对我来说不起作用。我尝试搜索 stackexchange 但找不到相关答案。请帮忙。预先感谢。
注意:
你可以这样做。它会给您
col4
中的值,但您不会更新 df
library(future.apply)
func <-function(n) {
df$col3[[n]] <- list(mylist[[n]])
df$col4[[n]] <- length(unlist(df$col3[[n]]))
}
future_lapply(1:3,func)