year
変数 1950-2007のデータがありyear
ますが、他の列に「月」変数があるため、それぞれが 12 回繰り返されます。年ダミー変数を作成するにはどうすればよいですか? これは私が持っているもので、Rはそれを受け入れていません
yeardummy <- cut(research$year, br=c(0, 1950:2007), labels=c("1950:2007"))
year
変数 1950-2007のデータがありyear
ますが、他の列に「月」変数があるため、それぞれが 12 回繰り返されます。年ダミー変数を作成するにはどうすればよいですか? これは私が持っているもので、Rはそれを受け入れていません
yeardummy <- cut(research$year, br=c(0, 1950:2007), labels=c("1950:2007"))
これは、データセットの各年に複数のダミー変数を作成するために使用する関数です。
dummyCreator <- function(invec, prefix = NULL) {
L <- length(invec)
ColNames <- sort(unique(invec))
M <- matrix(0L, ncol = length(ColNames), nrow = L,
dimnames = list(NULL, ColNames))
M[cbind(seq_len(L), match(invec, ColNames))] <- 1L
if (!is.null(prefix)) colnames(M) <- paste(prefix, colnames(M), sep = "_")
M
}
#Usage
dummy <- dummyCreator(research$year, prefix = "year")
research <- cbind(research, dummy)
データセットから変数を渡し、必要なプレフィックスを渡すだけで実行され、元のデータセットに cbind するだけで準備完了です。
お役に立てれば。