You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R中如何导入非2×2列联表开展泊松分布GLM分析

解决方法

方法1:调整CSV读取参数

你导入异常是因为CSV第一列的行标识(寄生状态0/1)未被识别为行名,添加row.names = 1参数即可:

ct2 <- read.csv("C:\\Users\\Asus R541u\\Desktop\\Master Thesis\\R3\\Habitatuse\\Ct.csv", 
                header = TRUE, 
                row.names = 1,
                sep = ",")

读取后直接用as.matrix(ct2)即可得到可用于分析的矩阵格式。

方法2:将已导入的异常数据转为列联表

如果已经将数据读入R,可通过以下代码转换格式:

# 提取数值列转为矩阵,将第一列设为行名
ct_mat <- as.matrix(ct2[, -1])
rownames(ct_mat) <- ct2[, 1]
# 转为R标准列联表对象
ct_table <- as.table(ct_mat)

方法3:直接在R中手动构建列联表

如果表格维度较小,直接手动构建更稳妥,避免文件读取的异常:

ct_mat <- matrix(
  # 按行顺序填入你表格中的实际数值,示例如下
  c(23, 17, 12, 31, 29, 22), 
  nrow = 2,
  byrow = TRUE,
  dimnames = list(
    Parasitation = c("0", "1"),
    Habitat = c("Bamboo", "Open", "Rhododendron")
  )
)
ct_table <- as.table(ct_mat)

补充说明

后续做泊松GLM分析时,可直接将列联表转为长格式数据框拟合模型:

ct_df <- as.data.frame(ct_table)
model <- glm(Freq ~ Parasitation * Habitat + Year, family = poisson, data = ct_df)

如果有原始的单条样本记录,也可以直接用原始数据拟合,不需要提前构建列联表:

model <- glm(Parasitation ~ Habitat + Year, family = poisson, data = 原始样本数据框)

内容的提问来源于stack exchange,提问作者RBiology

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 15:18:05