一列我有一個簡單數據幀。從中我想添加另一列記錄時間(小時和分鐘,在24小時制)。然後,我將把這個列映射到一個變量上。由於日期完全相同,我只對時間感興趣。這是我到目前爲止所嘗試的。小時和分鐘在中的R
a <- c(1:6)
b <- c("05/12/2012 05:00","05/12/2012 06:55","05/12/2012 07:10",
"05/12/2012 10:23", "05/12/2012 11:43","05/12/2012 13:04")
c <-c("0","0","0","1","1","1")
df1 <- data.frame(a,b,c,stringsAsFactors = FALSE)
a <- df1$a
b <- strptime(df1$b, "%d/%m/%Y %H:%M")
c <- as.numeric(df1$c)
hour <- as.numeric(format(b, "%H"))
min <- as.numeric(format(b, "%M"))
date <- format(b, "%x")
time <- hour + min
df2 <- data.frame(a, b, c, hour, min, date, time)
我被告知here手動通過打破號碼分開,轉換成類似單元,然後加入到分鐘和小時進行轉換。不過我奮力5點簡單地被導入爲5
如果有人可以告訴我怎麼可能正確地做到這一點,我將非常感激。
原諒我,如果我是密集的,但是應該輸入什麼5,好像它不是5?也許你想把你的小時數乘以60或者將分鐘乘以60?或者只是繪製日期,以便您不必處理! – Justin 2013-02-08 15:01:41
非常感謝@Justin。我希望第一次是05:00或0500,無論哪個都是簡單計算。 – 2013-02-08 15:06:21
您應該使用'paste(小時,分鐘,sep =':')'而不是'+'。你只需要添加兩個不知道時間的數字。但是,我會建議使用時間戳數據類型('?as.POSIXct')來避免所有這些潛在的混淆。 – Justin 2013-02-08 15:07:37