阅读 R 中的 xlsx,其中有一列是关于时间的。如何删除额外添加的日期R?
read xlsx in R with one column about Time. How to delete the date R added additionally?
我有一个 excel table 并想使用 read_xlsx
将其转换为 R 数据帧。
原来,在excel中,数据是这样的:
dep_time
15:37:48
04:05:14
然而,在我使用read_xlsx
之后,时间栏是这样的:
dep_time
1899-12-31 15:37:48
1899-12-31 04:05:14
我不想在我未来的绘图中有日期。我怎样才能避免这种情况?
谢谢!
这里有两种解决问题的方法。
他们都使用辅助函数to_times
来提取列值的时间部分。
基础 R
# sample data
x <- '1899-12-31 15:37:48
1899-12-31 04:05:14'
dep_time <- scan(text = x, what = character(), sep = "\n")
df1 <- data.frame(dep_time)
# code
to_times <- function(x) {
y <- as.POSIXct(x)
format(y, "%H:%M:%S")
}
df1$dep_time <- to_times(df1$dep_time)
df1
#> dep_time
#> 1 15:37:48
#> 2 04:05:14
str(df1)
#> 'data.frame': 2 obs. of 1 variable:
#> $ dep_time: chr "15:37:48" "04:05:14"
由 reprex package (v2.0.1)
于 2022-05-04 创建
套餐chron
to_times <- function(x) {
y <- sub("^[[:digit:]\-]+ ([[:digit:]\:]+)$", "\1", x)
chron::times(y)
}
df1$dep_time <- to_times(df1$dep_time)
df1
#> dep_time
#> 1 15:37:48
#> 2 04:05:14
str(df1)
#> 'data.frame': 2 obs. of 1 variable:
#> $ dep_time: 'times' num 15:37:48 04:05:14
#> ..- attr(*, "format")= chr "h:m:s"
由 reprex package (v2.0.1)
于 2022-05-04 创建
我有一个 excel table 并想使用 read_xlsx
将其转换为 R 数据帧。
原来,在excel中,数据是这样的:
dep_time
15:37:48
04:05:14
然而,在我使用read_xlsx
之后,时间栏是这样的:
dep_time
1899-12-31 15:37:48
1899-12-31 04:05:14
我不想在我未来的绘图中有日期。我怎样才能避免这种情况?
谢谢!
这里有两种解决问题的方法。
他们都使用辅助函数to_times
来提取列值的时间部分。
基础 R
# sample data
x <- '1899-12-31 15:37:48
1899-12-31 04:05:14'
dep_time <- scan(text = x, what = character(), sep = "\n")
df1 <- data.frame(dep_time)
# code
to_times <- function(x) {
y <- as.POSIXct(x)
format(y, "%H:%M:%S")
}
df1$dep_time <- to_times(df1$dep_time)
df1
#> dep_time
#> 1 15:37:48
#> 2 04:05:14
str(df1)
#> 'data.frame': 2 obs. of 1 variable:
#> $ dep_time: chr "15:37:48" "04:05:14"
由 reprex package (v2.0.1)
于 2022-05-04 创建套餐chron
to_times <- function(x) {
y <- sub("^[[:digit:]\-]+ ([[:digit:]\:]+)$", "\1", x)
chron::times(y)
}
df1$dep_time <- to_times(df1$dep_time)
df1
#> dep_time
#> 1 15:37:48
#> 2 04:05:14
str(df1)
#> 'data.frame': 2 obs. of 1 variable:
#> $ dep_time: 'times' num 15:37:48 04:05:14
#> ..- attr(*, "format")= chr "h:m:s"
由 reprex package (v2.0.1)
于 2022-05-04 创建