r - as.Date() 没有提及“起源”
问题描述
我刚开始用 R 编码,目的是避免 if-else 语句。我试图找到闰年并编写以下代码:
leap <- function(year) {
as.Date(year)
return(
gettextf("Year %Y is a leap year", ifelse(leap.year(year),year, "Year %Y is not a leap year"))
)
}
leap(2019)
我明确想省略起源,因为我想在日历中找到任何闰年。
另外,请告知这是否有效。
解决方案
如果您不想指定来源,则需要传递as.Date
一个字符串。您的代码还有更多问题。这有效:
library(lubridate)
leap <- function(year) {
#don't forget to assign like this:
year <- year(as.Date(paste0(year, "-01-01")))
#you need to nest your functions correctly:
sprintf(ifelse(leap_year(year),
"Year %d is a leap year",
"Year %d is not a leap year"),
year)
}
leap(c(2000:2020))
#[1] "Year 2000 is a leap year" "Year 2001 is not a leap year" "Year 2002 is not a leap year"
#[4] "Year 2003 is not a leap year" "Year 2004 is a leap year" "Year 2005 is not a leap year"
#...
推荐阅读
- excel - 带参数的子程序
- java - 如何使用 Graphics2D 创建的形状剪辑 BufferedImage?(Java)
- angular - Angular Kendo-dropdownlist 错误 data.map 不是函数
- typescript - 如何获取类实例类型签名
- javascript - 使用 perl 在 cgi 中的进度条
- php - 如何将文章插入 mysql 列 - htmlspecialchars?
- mysql - 在 MySql 中的任何字符串匹配后如何检索数据?
- python - 给定一组字母,如何用这些字母创建单词的所有可能组合,并以指定的数字重复?
- python - 如何根据另一个数据框中的值的条件填充数据框?
- html - Adobe Animate,如何使用变量引用嵌套的 HTML5 影片剪辑