Tag: 动物园

如何从data.table中排除一列或者将data.table转换为MTS

当使用data.table有可能返回除了一个的所有列,如在data.frame ? 如果答案是否定的,有没有人有一个优雅的方式来将多个时间序列data.table转换为zoo或其他时间序列对象? 考虑下面的例子: library(data.table) library(zoo) ## DEFINE DATA set.seed(1) dt = data.table( mydates = as.Date("2012-01-01") + 1:9, value1 = sort(rpois(9, 6)), value2 = sort(rpois(9, 6)), value3 = sort(rpois(9, 6)), value4 = sort(rpois(9, 6)), value5 = sort(rpois(9, 6))) ## CONVERT TO DATA FRAME df = as.data.frame(dt) ## CONVERT TO ZOO zooObj = zoo(df[,-1], df$mydates) ## […]

R向量/dataframe中的基本滞后

很可能会暴露我是R的新手,但在SPSS中,运行时滞很容易。 显然这是用户错误,但我失踪了? x <- sample(c(1:9), 10, replace = T) y <- lag(x, 1) ds <- cbind(x, y) ds 结果是: xy [1,] 4 4 [2,] 6 6 [3,] 3 3 [4,] 4 4 [5,] 3 3 [6,] 5 5 [7,] 8 8 [8,] 9 9 [9,] 3 3 [10,] 7 7 我想我会看到: xy [1,] 4 [2,] […]

用最新的非NA值replaceNA

在data.frame(或data.table)中,我想“填充”具有最近的非NA值的NA。 一个简单的例子,使用vector(而不是data.frame )如下: > y <- c(NA, 2, 2, NA, NA, 3, NA, 4, NA, NA) 我想要一个函数fill.NAs() ,它允许我构造yy ,使得: > yy [1] NA NA NA 2 2 2 2 3 3 3 4 4 我需要对许多(总计data.frame )小型数据data.frame ( data.frame )重复这个操作,其中一行是NA,它的所有条目都是。 什么是解决问题的好方法? 我制作的丑陋解决scheme使用这个function: last <- function (x){ x[length(x)] } fill.NAs <- function(isNA){ if (isNA[1] == 1) { […]

将年份和月份(“yyyy-mm”格式)转换为date?

我有一个这样的数据集: Month count 2009-01 12 2009-02 310 2009-03 2379 2009-04 234 2009-05 14 2009-08 1 2009-09 34 2009-10 2386 我想绘制数据(月份作为x值,并计为y值)。 由于数据中有空白,我想将本月的信息转换为date。 我试过了: as.Date("2009-03", "%Y-%m") 但它没有工作。 怎么了? 看来,date()也需要一天,不能为一天设置一个标准值? 哪个function解决了我的问题?