【发布时间】:2018-07-12 10:37:36
【问题描述】:
我正在尝试使用循环来选择 Move 数据集的第一个和最后一个日期 - 每只动物。我按如下方式创建了循环,将 MMunstacked 作为我的 Move 对象:
> ID <- c("AP002", "AP003", "AP004", "AP005", "AP006", "AP007")
for (i in 1:length(ID)) {
print(ID[i])
print(head(timestamps(MMunstacked$ID[i]), n=1))
print(tail(timestamps(MMunstacked$ID[i]), n=1))
}
但它给了我以下警告:
Error in (function (classes, fdef, mtable): unable to find an inherited method for function 'timestamps' for signature "NULL"
这是因为
> MMunstacked$ID[i]
NULL
然而
> ID[1]
"AP002"
两者都有
> MMunstacked$"AP002"
> MMunstacked$AP002
给我想要的数据。
但如果我把它们放在一起:
> MMunstacked$ID[1]
NULL
它再次给了我NULL,这可能是循环中发生的事情。 我对 R 中的这个对象没有太多经验,似乎无法在网上找到答案。
我想,也许是因为班级,但似乎并非如此。 只输入MMunstacked$AP002和从ID中提取的“AP002”肯定有区别,但我不知道是什么?
【问题讨论】: