我有一个数据帧列表,这些数据帧具有相同的变量,但观测值的数量不同。例如,我的一个数据帧的最后10行如下:
BIN_END_TIME AVERAGE_PUPIL_SIZE_BIN
3238 172
3258 171
3278 171
3298 170
3318 170
3338 169
3358 169
3378 169
3398 170
3409 169
我希望实现的是使用for循环提取列表中每个数据帧的BIN_END_TIME变量(例如3409(的最后一个值。
我可以知道是否有人知道这样做的方法吗?非常感谢!
您可以使用sapply
执行此操作。如果您的数据帧列表名为list_df
:
result <- sapply(list_df, function(x) tail(x$BIN_END_TIME, 1))
#Also :
#result <- sapply(list_df, function(x) x$BIN_END_TIME[nrow(x)])
使用for
循环:
result <- numeric(length(list_df))
for(i in seq_along(list_df)) {
result[i] <- tail(list_df[[i]]$BIN_END_TIME, 1)
}
我们可以使用lapply
result <- unlist(lapply(list_df, function(x) tail(x$BIN_END_TIME, 1)))