我有非數字數據的數據幀,即計數元件
Col1 <- c("a", "b","b",NA)
Col2 <- c(NA, "a", "c", NA)
Col3 <- c(NA,NA,"b", "a")
dat <- data.frame(Col1, Col2, Col3)
dat
# Col1 Col2 Col3
# 1 a <NA> <NA>
# 2 b a <NA>
# 3 b c b
# 4 <NA> <NA> a
我要添加該計數在每行中每一個字符的出現列。我想要的數據幀,看起來像這樣
dat
# Col1 Col2 Col3 a b c
# 1 a <NA> <NA> 1 0 0
# 2 b a <NA> 1 1 0
# 3 b c b 0 2 1
# 4 <NA> <NA> a 1 0 0
我使用的功能
f <- function(x) {
sum(x == "a", na.rm = T)}
找到列「A」,「B」和「C」,但也有許多字符帳戶因爲我希望有人能提出更快的方法。我懷疑apply
函數可以使用,但我沒有取得任何成功。
我相信你可以做得更好。你爲數據集中的每一行調用'table' *和*'factor'!這似乎效率低下。 – A5C1D2H2I1M1N2O1R2T1
@AnandaMahto,非常感謝您的評論。我完全同意 - 我對此並不滿意。但這是我想到的,而不是扔掉它,我決定分享它;;) – Henrik