[英]Mathematical operations inside a xtabs() table in R
如何將表中的兩個因子級別相加? 例如,我想在這種情況下總結versicolor + virginica ......
t1 <- xtabs(~Species, iris)
> t1
# Species
# setosa versicolor virginica
# 50 50 50
然后刪除versicolor和virginica,留下新級別“sumV”及其值。
我們可以通過將'versicolor'和'virginica'更改為新值'sumV'來transform
數據集,然后執行xtabs
。
xtabs(~Species,transform(iris, Species= c('setosa',
'sumV')[(Species %in% c('versicolor', 'virginica'))+1L]))
#Species
#setosa sumV
# 50 100
或者正如@Ananda Mahto建議的那樣,我們可以使用replace
為grep
xtabs(~ Species, transform(iris, Species =
replace(as.character(Species), grepl("^v", Species), "sumV")))
t1 <- xtabs(~Species, iris)
#Species
# setosa versicolor virginica
# 50 50 50
然后將您想要的值相加並將它們分配到一個新的級別:
t1["sumV"] = t1["versicolor"] + t1["virginica"]
# setosa versicolor virginica sumV
# 50 50 50 100
最后刪除您不想保留的值:
t1[-c(2,3)]
#setosa sumV
# 50 100
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.