簡體   English   中英

R不允許我將列表中數據框中的向量定義為POSIXct

[英]R won't let me define vector in data frame in list as POSIXct

我是R的新手,並且已經編寫了我的第一個腳本來處理傳感器的一些數據。 我寫的腳本很粗糙,但是可以用。 現在,我正在嘗試清理它。

我編寫的腳本為我擁有的每個傳感器制作了一個數據框。 我正在嘗試用數據幀列表替換該設置,以便可以更輕松地循環操作。 目前,我的腳本分別為每個換能器(以及因此的數據幀)分別運行每個“命令”或“計算”。...這是很多冗余代碼。

這就是我遇到的問題...我的腳本以前是這樣運行的:

baro_data_temp <- read.csv(paste(file_subdir,"Barometr",file_append,file_type, sep=""), 
                header=FALSE, check.names=FALSE)

colnames(baro_data_temp) <- c('date', 'measurement')

baro_data_temp$date <-as.POSIXct(baro_data_temp$date,"%Y-%m-%d %H:%M:%S")

這些操作將針對每個換能器(因此,每個.csv文件)執行。 將日期列定義為POSIXct可以正常工作,但是我收到有關無時區的錯誤。 那不打擾我。 時區無關緊要。

我已經這樣重寫了腳本的這一部分:

data_import <- list()

for (i in seq_along(files_names)) {
data_import[[i]] <- read.csv(file = files_names[i], header=FALSE, check.names=FALSE)
colnames(data_import[[i]]) <- c('date', 'measurement')
data_import[[i]]["date"] <- as.POSIXct(data_import[[i]]["date"],"%Y-%m-%d %H:%M:%S")
}

names(data_import) <- frames_names

現在我得到一個錯誤,說

“ as.POSIXct.default(data_import [[i]] [“ date”],“%Y-%m-%d%H:%M:%S”中的錯誤):不知道如何轉換'data_import [ [i]] [“ date”]'歸類為“ POSIXct””

我不知道怎么了.....

對於遇到此問題的任何人,這就是答案。

data_import [[i]] [“ date”]產生一個數據幀。 data_import [[i]] [[“ date”]]產生一個向量,可以解決當前的問題。 data_import [[i]] $ date也產生一個向量,因此也有效。

暫無
暫無

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

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