R lubridate 看到错误的行数
R lubridate seeing the wrong number of rows
这是我正在使用的数据框。我只包括前六行。我收到的错误消息与这一小部分数据相同。
structure(list(Date.time = c("3/3/22 16:03", "3/4/22 23:41",
"3/14/22 16:32", "3/23/22 11:44", "3/23/22 13:02", "3/23/22 13:14"
)), row.names = c(NA, 6L), class = "data.frame")
我正在使用 lubridate
库,我正在尝试将 'm/d/y hms' 格式 (Excel) 的这一列转换为 'ymd' 格式R 更喜欢。
library(lubridate)
我正在尝试创建一个 ymd 格式的新变量,我指定 lubridate 正在查看 mdy hms。
file$Date.time2 <- lubridate::ymd(file$Date.time, "mdy_hms")
但是,我收到此错误消息。
All formats failed to parse. No formats found.Error in `$<-.data.frame`(`*tmp*`, Date.time2, value = c(NA_real_, NA_real_, :
replacement has 7 rows, data has 6
我查看了这个数据框的长度,正如我所料,它确实有六行,因为我使用了 head()
函数。
length(file$Date.time) # evaluates to 6
我也可以确认这个文件的class是一个dataframe
class(file) # dataframe
整个数据范围有 8077 列,而 lubridate 告诉我同样的错误消息说替换有 8078 行。
我以这两种方式尝试了 运行 代码,认为如果我使用新的向量而不是相同的向量,错误消息可能会消失。
file$Date.time <- lubridate::ymd(file$Date.time, "mdy_hms")
file$Date.time2 <- lubridate::ymd(file$Date.time, "mdy_hms")
列表的字符串中没有秒,所以你需要使用没有秒的lubridate函数:
library(lubridate)
file <- structure(list(Date.time = c("3/3/22 16:03", "3/4/22 23:41",
"3/14/22 16:32", "3/23/22 11:44", "3/23/22 13:02", "3/23/22 13:14"
)), row.names = c(NA, 6L), class = "data.frame")
file$Date.time2 <- lubridate::mdy_hm(file$Date.time)
这是一个有用的备忘单,其中包含这些功能:https://rawgit.com/rstudio/cheatsheets/main/lubridate.pdf
这是我正在使用的数据框。我只包括前六行。我收到的错误消息与这一小部分数据相同。
structure(list(Date.time = c("3/3/22 16:03", "3/4/22 23:41",
"3/14/22 16:32", "3/23/22 11:44", "3/23/22 13:02", "3/23/22 13:14"
)), row.names = c(NA, 6L), class = "data.frame")
我正在使用 lubridate
库,我正在尝试将 'm/d/y hms' 格式 (Excel) 的这一列转换为 'ymd' 格式R 更喜欢。
library(lubridate)
我正在尝试创建一个 ymd 格式的新变量,我指定 lubridate 正在查看 mdy hms。
file$Date.time2 <- lubridate::ymd(file$Date.time, "mdy_hms")
但是,我收到此错误消息。
All formats failed to parse. No formats found.Error in `$<-.data.frame`(`*tmp*`, Date.time2, value = c(NA_real_, NA_real_, :
replacement has 7 rows, data has 6
我查看了这个数据框的长度,正如我所料,它确实有六行,因为我使用了 head()
函数。
length(file$Date.time) # evaluates to 6
我也可以确认这个文件的class是一个dataframe
class(file) # dataframe
整个数据范围有 8077 列,而 lubridate 告诉我同样的错误消息说替换有 8078 行。
我以这两种方式尝试了 运行 代码,认为如果我使用新的向量而不是相同的向量,错误消息可能会消失。
file$Date.time <- lubridate::ymd(file$Date.time, "mdy_hms")
file$Date.time2 <- lubridate::ymd(file$Date.time, "mdy_hms")
列表的字符串中没有秒,所以你需要使用没有秒的lubridate函数:
library(lubridate)
file <- structure(list(Date.time = c("3/3/22 16:03", "3/4/22 23:41",
"3/14/22 16:32", "3/23/22 11:44", "3/23/22 13:02", "3/23/22 13:14"
)), row.names = c(NA, 6L), class = "data.frame")
file$Date.time2 <- lubridate::mdy_hm(file$Date.time)
这是一个有用的备忘单,其中包含这些功能:https://rawgit.com/rstudio/cheatsheets/main/lubridate.pdf