2014-11-05 50 views
0

本着「沒有問題太簡單」的精神,如何將lapply函數的輸出保存到應用該函數的列表中。對於例如我做將lapply結果保存到應用了哪個函數的列表中

lapply(listofdf, function(x) as.numeric(gsub("[$,]", "", x[ ,18])))

其中x是數據幀,並gsub被施加到第18列。我想將結果保存到listofdf本身的第18列。我從來沒有使用過列表。有了數據框,我們只需要做 df$whatever <- function(df$whatever, ....)。用list這將如何工作?

+0

這將是更好,如果你表現出有這種異常 – akrun 2014-11-05 15:25:00

回答

3

你可以做

listofdf <- lapply(listofdf, function(x){ 
         x[,18] <- as.numeric(gsub("[$,]", "", x[ ,18])) 
         #assign 18th column to the modified column 
         x #return the dataframe 
         }) 
+0

它開始爲正在執行的功能,而不是僅僅節省的打印都在我的控制檯中的操作和結果的一些小示例數據集的悄悄地到列表元素。而且,結果並沒有保存到'listofdf'中。劃傷頭 - 讓我更新我的問題。 – vagabond 2014-11-05 15:08:01

+1

@vagabond您可以將它分配給'listodf < - lapply(listofdf,...)',這樣它就可以安靜地工作。 – akrun 2014-11-05 15:09:21

+0

是的,除了我的結果是不同的。我正在測試輸出:'lapply(listofdf,function(x)range(x [,「hour」]))'並且我已經在一個數據框上應用了相同的函數,該列表將列表中的所有df與' combineddf < - do.call(rbind,listofdf)'然後'combineddf $ hour < - as.numeric(gsub(「:\\ d +」,「」,combineddf $ hour))''。 – vagabond 2014-11-05 15:20:30

相關問題