首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在R中再应用一个for循环?

如何在R中再应用一个for循环?
EN

Stack Overflow用户
提问于 2022-06-29 01:37:12
回答 4查看 78关注 0票数 1

我想写一个R风格的for循环(?)若要避免下列重复代码,请执行以下操作。

代码语言:javascript
复制
df1$fusion <- apply(df1[, cols], 1, paste, collapse = "-" )
df2$fusion <- apply(df2[, cols], 1, paste, collapse = "-" )
df3$fusion <- apply(df3[, cols], 1, paste, collapse = "-" )
df4$fusion <- apply(df4[, cols], 1, paste, collapse = "-" )
df5$fusion <- apply(df5[, cols], 1, paste, collapse = "-" )
df6$fusion <- apply(df6[, cols], 1, paste, collapse = "-" )
df7$fusion <- apply(df7[, cols], 1, paste, collapse = "-" )
df8$fusion <- apply(df8[, cols], 1, paste, collapse = "-" )
df9$fusion <- apply(df9[, cols], 1, paste, collapse = "-" )
df10$fusion <- apply(df10[, cols], 1, paste, collapse = "-" )
df11$fusion <- apply(df11[, cols], 1, paste, collapse = "-" )
df12$fusion <- apply(df12[, cols], 1, paste, collapse = "-" )

我该怎么做呢?类似于shell脚本风格的东西?

代码语言:javascript
复制
df_ls=("df1 df2 df3 df4 df5 df6 df7 df8 df9 df10 df11 df12")

for i in $df_ls
do
${i}$fusion <- apply(${i}[, cols], 1, paste, collapse = "-" )
done
EN

回答 4

Stack Overflow用户

发布于 2022-06-29 02:09:22

有单子。例如在你的情况下。

代码语言:javascript
复制
list_df_general <- list(df, df2,...,df12) # load your date frames
lista_new <- list() # list empty
for(i in 12){
  lista_new[[i]] <- apply(lista_df_general[[i]][, cols], 1, paste, collapse = "-" )
}

对于浏览器内部列表,您应该执行以下操作

代码语言:javascript
复制
list_new[[1]] or list_new[[2]] with 3,4,...,12.
票数 2
EN

Stack Overflow用户

发布于 2022-06-29 01:47:00

你可以用这样的方法

代码语言:javascript
复制
my_Fun <- function(df, cols)
{
  df$fusion <- apply(df[, cols], 1, paste, collapse = "-" )
}

for(i in 1 : 12)
{
  variable_Name <- paste0("df", i)
  assign(x = variable_Name, value = my_Fun(df = get(x = variable_Name), cols = cols))
}
票数 1
EN

Stack Overflow用户

发布于 2022-06-29 04:10:20

您可以在数据文件列表中使用lapplyapply的组合。这将返回数据格式的列表。

代码语言:javascript
复制
df_ls <- mget(paste0("df", 1:12))

lapply(df_ls, function(x) {x$fusion <- apply(x[, cols], 1, paste, collapse = "-" ); x})
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72794848

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档