簡體   English   中英

R 添加列名稱,這些名稱來自不同月份的不同長度的日期

[英]R add column names which are dates from different months with different lengths

這個小問題有好的解決辦法嗎? 我下載了一個 csv 文件,然后更改了文件上的列名。 前兩行是一致的(Source_1 和 Source_2),但列的 rest 沒有名稱,但它們對應於一個月中不同日期的數據。 我使用 colnames 手動添加列名,但有更好的方法嗎? 部分問題是不同的月份有不同的天數,因此不同的文件會有不同的長度。 我希望這一切都非常自動化。

april_csv <- read.csv('~/Downloads/april_csv.csv')

length(april_csv) # this value is 31 for the month of April but it might be a different length, depending on the month. 

colnames(april_csv) <- c("Source_1)", "Source_2", "2021-04-01","2021-04-02", "2021-04-03", "2021-04-04", "2021-04-05", "2021-04-06", "2021-04-07", "2021-04-08", "2021-04-09", "2021-04-10", "2021-04-11", "2021-04-12", "2021-04-13", "2021-04-14", "2021-04-15", "2021-04-16", "2021-04-17", "2021-04-18", "2021-04-19", "2021-04-20", "2021-04-21", "2021-04-22", "2021-04-23", "2021-04-24", "2021-04-25", "2021-04-26", "2021-04-27", "2021-04-28", "2021-04-29")

我希望這有點道理。 我想知道是否有更好的方法。

我們可以在轉換為Date class 后使用seq

library(lubridate)
str1 <- 'april_csv'
date <- mdy(str1, truncated = 2)
year(date) <- year(today())
date_end <- ceiling_date(date,  'month') - 2
nm1 <- as.character(seq(date, date_end, by = '1 day'))
colnames(april_csv) <- c("Source_1", "Source_2", nm1)

或者它可以是

nm1 <- as.character(seq(date, length.out = ncol(april_csv)-2, by = '1 day'))
colnames(april_csv) <- c("Source_1", "Source_2", nm1)

暫無
暫無

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

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