你應該更可用的形式發表您的數據。如張貼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的表。 –