簡體   English   中英

R:關於使用 lapply() function 而不是 for 循環的問題

[英]R: Question about using lapply() function instead of for loop

我一直在成功運行以下 for 循環 function:

for (i in 1:10){
   X=get(paste0("Y_lines",i))
   X <- tm_map(X, content_transformer(tolower))
   assign(paste0("Y_lines",i), X)
rm(X)}

我想改用 lapply() function,因為它更省時。 我玩過 function 但沒有找到任何成功。 這是我最近的努力:

lapply(X = Y_lines[1:10], FUN = tm_map(X, content_transformer(tolower)))

這是我第一次使用 lapply,如果我犯了基本錯誤,請見諒。

先感謝您。

嘗試一下,注意這是未經測試的,您可能需要在list2env()lapply()函數之間插入一個setNames() function:(根據附加問題進行編輯):我們可以存儲第一部分的結果匿名 function,然后像這樣在其上應用另一個 function:

list2env(lapply(mget(ls(.GlobalEnv, pattern = "Y_lines"), envir = .GlobalEnv), function(x){
    y <- tm_map(x, content_transformer(tolower))
    tm_map(y, removeWords, stopwords("english"))
  }
), .GlobalEnv)

或者我們可以 function 重載:

list2env(lapply(mget(ls(.GlobalEnv, pattern = "Y_lines"), envir = .GlobalEnv), function(x){
    tm_map(tm_map(x, content_transformer(tolower)), removeWords, stopwords("english"))
  }
), .GlobalEnv)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM