【发布时间】:2016-06-05 03:27:02
【问题描述】:
我正在使用计算梯度值
DF$gradUx <- sapply(1:nrow(DF), function(i) ((DF$V4[i+1])-DF$V4[i]), simplify = "vector")
但是在检查class(DF$gradUx) 时,我仍然得到一个列表。我想要的是一个数字向量。我做错了什么?
Browse[1]> head(DF)
V1 V2 V3 V4
1 0 0 -2.913692e-09 2.913685e-09
2 1 0 1.574589e-05 3.443367e-09
3 2 0 2.111406e-05 3.520451e-09
4 3 0 2.496275e-05 3.613013e-09
5 4 0 2.735775e-05 3.720385e-09
6 5 0 2.892444e-05 3.841937e-09
【问题讨论】:
-
您会得到一个列表,因为并非所有返回的元素都具有相同的大小(我猜是第一个和最后一个)。在
zoo中使用rollapply可能会更好