我有 df1:
ID Time
1 16:00:00
2 14:30:00
3 9:23:00
4 10:00:00
5 23:59:00
并希望將當前的“字符”列“時間”更改為“整數”,如下所示:
ID Time
1 1600
2 1430
3 923
4 1000
5 2359
uj5u.com熱心網友回復:
我們可以替換:'s,生成數字,除以 100,然后像這樣轉換為整數:
df1$Time = as.integer(as.numeric(gsub(':', '', df1$Time))/100)
uj5u.com熱心網友回復:
您想使用as.POSIXct().
用于操作表示日歷日期和時間的“POSIXlt”和“POSIXct”類物件的函式。
R 檔案 as.POSIXct()
所以在第 1 行的情況下: as.POSIXct("16:00:00", format = "%H%M")
然后as.numeric在需要它真正成為 int 時使用。
將字符矩陣轉換為數值矩陣。
R Docs as.Numeric()
uj5u.com熱心網友回復:
df1 <- data.frame(Time = "16:00:00")
df1[, "Time"] <- as.numeric(paste0(substr(df1[, "Time"], 1, 2), substr(df1[, "Time"], 4, 5)))
print(df1)
# Time
# 1 1600
uj5u.com熱心網友回復:
有很多方法可以處理這個問題,但這里有一個例子:
library(dplyr)
df1 <- mutate(df1, Time = gsub(":", "", Time) # replace colons with blanks
df1 <- mutate(df1, Time = as.numeric(Time)/100) # coerce to numeric type, divide by 100
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/358132.html
下一篇:如何撰寫R函式來反轉互補DNA?
