你应该更可用的形式发表您的数据。如张贴dput(x)
,其中x
输出数据集的名称。大部分的工作是让你张贴在data.frame
什么。
x <- "(O,Male),(O,Female),(A,Female),(B,Male),(A,Female),(O,Female),(A,Male),
(A,Male),(A,Female),(O,Male),(B,Male),(O,Male),B,Female),(O,Male),
(O,Male), (A,Female),(O,Male),(O,Male),(A,Female),(A,Female),(A,Male),
(A,Male), (AB,Female),(A,Female),(B,Female),(A,Male),(A,Female),
(O,Male),(O,Male), (A,Female),(O,Male),(O,Female),(A,Female),(A,Male),
(A,Male),(O,Male), (A,Male),(O,Female),(O,Female),(AB,Male)"
s <- sub("\\(", "", strsplit(x, "\\),")[[1]])
s <- sub("\\)", "", s)
s <- strsplit(s, ",")
s <- lapply(s, trimws)
dat <- as.data.frame(do.call(rbind, s))
names(dat) <- c("BloodType", "Sex")
在base R
有函数来创建双向表。
xtabs(~ BloodType + Sex, data = dat)
# Sex
#BloodType Female Male
# A 10 8
# AB 1 1
# B 2 2
# O 5 11
如果你提出一个最小的例子有你想要什么想法这将是容易的。看看'janitor'package。它可能做你的事。 – Edu
基本上我想以量化数据集建立按性别和血型diveded的表。 –