我有一個文件夾包含相同時間序列數據的文件。這裏是我的數據示例:接收器堆棧已滿 - 保存表格函數的輸出
Date Time Letter
2009-09-25 23:56:00 a
2009-09-25 23:57:00 a
2009-09-25 23:58:00 b
2009-09-25 23:59:00 c
2009-09-26 00:00:00 c
2009-09-26 00:00:00 c
2009-09-26 00:00:00 c
2009-09-26 00:00:00 b
2009-09-26 00:00:00 a
我正在尋找將我的函數應用於文件夾中的所有文件。在此範圍內,我將使用按日期拆分將每個文件拆分爲不同的日期,然後對這些文件應用一個函數。然後,我使用表格向我返回日期,然後是當天輸入的每個字母的編號。因此,對於上述數據我會回來:
$2009-09-25
a 2
b 1
c 1
$2009-09-26
a 1
b 1
c 3
我的問題是,當我嘗試使用沉到輸出定向到一個文件,我得到的錯誤「接收器堆棧已滿」。
setwd("C:\\User1\\Documents\\Files")
path <- "C:\\User1\\Documents\\Files"
files <- list.files(path = path)
lapply(files,function(files, path){
path <- "C:\\User1\\Documents\\Files"
fp <- file.path(path, files)
df <- read.csv(fp)
#A few more calculations with data here
# Separating data frame into large list of separate days
eachday <- split(df, df$Date)
myfunction <- function(df){
# More calculations with data within function
#Sink output to file
sink(file="testing121.csv", append=TRUE, type = "output", split=FALSE)
return(table(night$Activity))
}
# Apply function over list of days
lapply(eachday, myfunction)
})
如果關閉接收器中的接收器,它也不起作用。有沒有更好的方法將數據保存到具有每個特定日期和Letter列頻率的文件中?爲什麼這個下沉是錯誤的?
'sink'用於將控制檯輸出寫入文件。您想使用'write.csv'來構建數據的CSV文件。 – Thomas