【发布时间】:2020-06-17 21:53:15
【问题描述】:
我有一个函数:
extract_tmp <- function(x,y)
{
nr <- nrow(x$y)
ind <- seq(6, nr, by = 12)
out <- lapply(Map(seq, ind[ seq_along(ind) %% 2 == 1 ], ind[ seq_along(ind) %% 2 == 0 ]),
function(i) x$y[i])
}
当我打电话时:
extract_tmp(JAN , tmp.2007.jan)
它返回:
Error in seq.default(6, nr, by = 12) : 'to' must be of length 1
当我将nrow() 切换到length() 时,它会返回:
Error in seq.default(6, nr, by = 12) : wrong sign in 'by' argument
我已经阅读此网站并排除故障几个小时,但无法解决这些问题。附加信息:
length(JAN$tmp.2007.jan)
# 744
nrow(JAN$tmp.2007.jan)
# NULL
mode(JAN)
# "list"
mode(JAN$tmp.2007.jan)
# "numeric"
感谢您的帮助。
【问题讨论】:
-
nrow是一帧的行数,对向量没有意义。如果x是一个框架并且f是其中的一个列,那么nrow(x) == length(x$f)。使用其中一种。
标签: r list function syntax-error lapply