所以我有一个看起来有点像这样的数据集:
set0 <- data.frame(A = c("A", "B", "C", "D", "A", "B", "C", "D", "A", "B"),
B = c("E", "F", "G", "H", "I", "E", "F", "G", "H", "I"))
我需要创建一个计算结果的表,并将其放入表中。因此我使用:
set0 <- table(set0, exclude = c("H", "I"))
result:
#> set0
B
A E F G
A 1 0 0
B 1 1 0
C 0 1 1
D 0 0 1
我想把F和G列合并到V:中
B
A E V
A 1 0
B 1 1
C 0 2
D 0 1
我还需要合并我管理得很好的行(我想(。我怀疑会对列名使用以下内容,但我一直收到一个错误:下标越界(为此,我将行名更改为colname,与给定值相同(
set0 <- {set0["A", ] = set0["A", ] + set0["B", ]
set0[rownames(set0) != "B", ]}
那么,有没有什么方法可以合并列F和G,并将其更改为V?或者我可以用另一种工具来制作类似的表格。
您可以使用replace
或ifelse
更改B
的值,然后使用table
:
table(transform(set0, B = replace(B, B %in% c('F', 'G'), 'V')), exclude = c("H", "I"))
# B
#A E V
# A 1 0
# B 1 1
# C 0 2
# D 0 1