Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 为什么max(df$date)有效,但df%>;%选择(日期)%>;%max()给出错误?_R_Dataframe_Date_Tidyverse - Fatal编程技术网

R 为什么max(df$date)有效,但df%>;%选择(日期)%>;%max()给出错误?

R 为什么max(df$date)有效,但df%>;%选择(日期)%>;%max()给出错误?,r,dataframe,date,tidyverse,R,Dataframe,Date,Tidyverse,我正在处理包含日期字段作为字符的新冠病毒数据 我试图找到最大日期,我尝试了使用dplyr的命令,这给了我错误: df%>%选择(日期)%>%max() FUN中的错误(X[[i]],…):仅在包含所有数值变量的数据帧上定义 其中asmax(df$date)运行良好,并给出了结果:[1]“2020-08-17” 我无法理解为什么会发生这种情况。以下是数据等的代码: library(flexdashboard) library(tidyverse) library(lubridate) 资料 我认

我正在处理包含日期字段作为字符的新冠病毒数据

我试图找到最大日期,我尝试了使用dplyr的命令,这给了我错误:
df%>%选择(日期)%>%max()

FUN中的错误(X[[i]],…):仅在包含所有数值变量的数据帧上定义

其中as
max(df$date)
运行良好,并给出了结果:
[1]“2020-08-17”

我无法理解为什么会发生这种情况。以下是数据等的代码:

library(flexdashboard)
library(tidyverse)
library(lubridate)
资料
我认为这是因为在使用
select
时仍然有一个数据帧对象。如果您想使用dplyr子集,以便只拥有带有日期变量的向量(使用
df$date
),您可以使用
df%%>%pull(date)%%>%max()

尝试:
选择(日期)%%>%mutate(max(日期))
尝试:
拉(日期)%%>%max()
,,
pull
返回一个向量,而不是像
select
@Duck那样的tible,但这会给我一列重复的最大日期值。我只需要从所有值中找出一个最大值,当您尝试这样做时,它应该不会发生变化。您得到错误:
error in FUN(X[[I]],…):仅在包含所有数值变量的数据帧上定义。如果所有变量都是数字,那么您将在所有data.frame中获得最大值,而不是每列。感谢@starja
pull(date)%%>%max()
worked。但如果我在处理一个数据帧并选择一个列,为什么会变成一个tibble。在使用Python中的Pandas之后,我在这里发现了一些非常不同的样式,我想我需要一些时间来习惯这里的pull()命令的用法@“Josh C”是的,这很有效。以后我需要更加小心地使用这个
pull
语句。
df <- read.csv("https://raw.githubusercontent.com/RamiKrispin/coronavirus/master/csv/coronavirus.csv", stringsAsFactors = F)

head(df)
dim(df)
df %>% distinct(country)
typeof(df$date)
df %>% select(date) %>% max()
df %>% max(date)
max(df$date)