如何从 r 中的包循环特定函数?
How do I loop a specific function from a package in r?
我有这样的日期列表。
OnlyDates
[1] "2018-01-22" "2018-01-22" "2018-01-22" "2018-01-22" "2018-01-22" "2018-01-22" "2018-01-22" "2018-01-22" "2018-01-22" "2018-01-22" "2018-01-22"
[353] "2018-09-25" "2018-09-25" "2018-09-25" "2018-09-25" "2018-09-25" "2018-09-25" "2018-09-25" "2018-09-25" "2018-10-10" "2018-10-10" "2018-10-10"
[364] "2018-10-10" "2018-10-10" "2018-10-10" "2018-10-10" "2018-10-10" "2018-10-10" "2018-10-10" "2018-10-10" "2018-10-10" "2018-10-10" "2018-10-10"
我想循环计算特定日期的光周期小时数的函数,并将其打印在另一个名为“光周期”的列中。该函数从包 'geosphere'
中调用 'daylength'
他们正在尝试这样的事情:
for (i in OnlyDates {print(daylength(-43.39, "i"))})
-43.39为纬度,"i"应为日期写为:"2021-08-05"
单独的函数示例:
daylength(-43.39, "2021-08-05")
哪个returns
[1] 9.897292
相反,使用我的代码我得到:
Error in h(simpleError(msg, call)) :
error in evaluating the argument 'x' in selecting a method for function 'print': character string is not in a standard unambiguous format
任何人都可以对此有所了解吗?
谢谢,
狮子座
使用不带引号的 i
(不是 "i"
)。
此外 for
循环中的括号位置错误。你应该先结束迭代条件,然后定义 body
for (i in OnlyDates) {print(daylength(-43.39, i))}
我有这样的日期列表。
OnlyDates [1] "2018-01-22" "2018-01-22" "2018-01-22" "2018-01-22" "2018-01-22" "2018-01-22" "2018-01-22" "2018-01-22" "2018-01-22" "2018-01-22" "2018-01-22" [353] "2018-09-25" "2018-09-25" "2018-09-25" "2018-09-25" "2018-09-25" "2018-09-25" "2018-09-25" "2018-09-25" "2018-10-10" "2018-10-10" "2018-10-10" [364] "2018-10-10" "2018-10-10" "2018-10-10" "2018-10-10" "2018-10-10" "2018-10-10" "2018-10-10" "2018-10-10" "2018-10-10" "2018-10-10" "2018-10-10"
我想循环计算特定日期的光周期小时数的函数,并将其打印在另一个名为“光周期”的列中。该函数从包 'geosphere'
中调用 'daylength'他们正在尝试这样的事情:
for (i in OnlyDates {print(daylength(-43.39, "i"))})
-43.39为纬度,"i"应为日期写为:"2021-08-05"
单独的函数示例:
daylength(-43.39, "2021-08-05")
哪个returns
[1] 9.897292
相反,使用我的代码我得到:
Error in h(simpleError(msg, call)) : error in evaluating the argument 'x' in selecting a method for function 'print': character string is not in a standard unambiguous format
任何人都可以对此有所了解吗? 谢谢, 狮子座
使用不带引号的 i
(不是 "i"
)。
此外 for
循环中的括号位置错误。你应该先结束迭代条件,然后定义 body
for (i in OnlyDates) {print(daylength(-43.39, i))}