我正在使用(我认为)公开可用的非常酷的泰坦尼克号数据。
将其导入 R 有两种主要方法:
(1) 您可以使用内置数据集 Titanic
( library(datasets)
) 或
(2) 您可以将其下载为.csv 文件,例如此处。
现在,数据是聚合频率数据。我想将多维列联表转换为单个级别的数据框。
问题:如果我使用内置数据集,这没问题;但是,如果我使用导入的 .csv 文件,它就不起作用。这是我收到的错误消息:
rep(1:nrow(tablevars), counts) 中的错误:无效的“次”参数此外:警告消息:在 expand.table(Titanic.table) 中:强制引入的 NA
为什么?我做错了什么?非常感谢。
代码
#required packages
library(datasets)
library(epitools)
#(1) Expansion of built-in data set
data(Titanic)
Titanic.raw <- Titanic
class(Titanic.raw) # data is stored as "table"
Titanic.expand <- expand.table(Titanic.raw)
#(2) Expansion of imported data set
Titanic.raw <- read.table("Titanic.csv", header=TRUE, sep=",", row.names=1)
class(Titanic.raw) #data is stored as "data.frame"
Titanic.table <- as.table(as.matrix(Titanic.raw))
class(Titanic.table) #data is stored as "table"
Titanic.expand <- expand.table(Titanic.table)