我有一組使用該dput函式的資料:
df <- structure(list(ID = c(19512957L, 5603090L, 18235508L),
ID.Type = c("A", "B", "B"), Voter.First.Name = c("Joe",
"Heather", "Hannah"), Voter.Last.Name = c("Smith", "Jones",
"James"), Phone = c(1234567890, 2345678901, 3456789012
), Date.Called = c("9/28/21", "9/28/21", "9/28/21")), row.names = c(NA,
3L), class = "data.frame")
我正在嘗試轉換Date.Called為日期格式,但是當我運行時:
df$Date.Called <- as.Date(df$Date.Called)
我收到以下錯誤:
Error in charToDate(x) :
character string is not in a standard unambiguous format
我在 Stack Overflow 上研究了這個問題,并認為我找到了答案,那就是:
df$Date.Called <- as.Date(as.character(df$Date.Called),"%Y%m%d")
但這只是將所有結果Date.Called作為 NA回傳。
我錯過了什么?
編輯我還有另一個資料框
df2 <- structure(list(ID = c(19512957L, 5603090L, 18235508L),
ID.Type = c("A", "B", "B"), Voter.First.Name = c("Joe",
"Heather", "Hannah"), Voter.Last.Name = c("Smith", "Jones",
"James"), Phone = c(1234567890, 2345678901, 3456789012
), Date.Called = c("09-28-21", "09-28-21", "09-28-21")), row.names = c(NA,
3L), class = "data.frame")
我正在嘗試將該Date.Called列轉換為與@maarvd 答案類似的格式,但是當我運行時:
df2$Date.Called <- as.Date(df2$Date.Called, "%m/%d/%y")
它再次只回傳 NAs
uj5u.com熱心網友回復:
這應該有效。
df$Date.Called <- as.Date(df$Date.Called,"%d/%m/%y")
查看:
class(df$Date.Called)
[1] "Date"
uj5u.com熱心網友回復:
更新:對于df2:
library(dplyr)
library(lubridate)
df2 %>%
mutate(Date.Called = as_date(mdy(Date.Called)))
ID ID.Type Voter.First.Name Voter.Last.Name Phone Date.Called
1 19512957 A Joe Smith 1234567890 2021-09-28
2 5603090 B Heather Jones 2345678901 2021-09-28
3 18235508 B Hannah James 3456789012 2021-09-28
我們可以使用as_date與mdy從功能lubridate包:
library(dplyr)
library(lubridate)
df %>%
mutate(Date.Called = as_date(mdy(Date.Called)))
ID ID.Type Voter.First.Name Voter.Last.Name Phone Date.Called
1 19512957 A Joe Smith 1234567890 2021-09-28
2 5603090 B Heather Jones 2345678901 2021-09-28
3 18235508 B Hannah James 3456789012 2021-09-28
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/312486.html
上一篇:統計直方圖中的結果
下一篇:當所有列的值都為0時調整條件
