r - model.matrix 生成的行数比原始 data.frame 少

标签 r model matrix dataframe

为什么模型矩阵不一定具有与数据框相同的行数?

mergem = model.matrix(as.formula(paste(response, '~ .')), data=mergef)
dim(mergef)
# [1] 115562     71
dim(mergem)
# [1] 66786   973

我尝试在文档中寻找提示,但找不到任何内容。提前致谢。

最佳答案

好吧,如果一行中有 NA,则该行(默认情况下)将被删除:

d <- data.frame(x=c(1,1,2), y=c(2,2,4), z=c(4,NA,8))
m <- model.matrix(x ~ ., data=d)

nrow(d) # 3
nrow(m) # 2

此行为由选项“na.action”控制:

options(na.action="na.fail")
m <- model.matrix(x ~ ., data=d) # Error: missing values in object

关于r - model.matrix 生成的行数比原始 data.frame 少,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6447708/

相关文章:

r - 通过 .rmd 或 Shiny 在本地 .html 上进行交互式绘图

database - CakePHP 数据库表,缺少数据源默认值

ruby-on-rails - 如何在 Ruby on Rails 中验证一对 id 的唯一性?

algorithm - 来自采访 : Removing rows and columns in an n×n matrix to maximize the sum of remaining values

c++ - 行列式中的段错误(核心已转储)

r - 如何正确地从外部列表循环以在 dplyr 中使用内部 mutate

r - 检测 R 中的可用和空闲内核

python - 使用opencv和python隔离图片中的数字矩阵

r - 根据列名称向量缩放列

sql - 递归子目录SQL问题