R 基于另一列的事件更新一列

R 基于另一列的事件更新一列,r,dataframe,xtable,R,Dataframe,Xtable,我有以下数据帧 GenA<-rep(c("C/C","A/C"),5) GenB<-rep(c("G/G","G/C"),5) GenC<-rep(c("A/A","A/T","A/A","A/T","A/A"),2) Treatment<-rep(c("A","B"),5) e<-data.frame(GenA,GenB,GenC,Treatment) 现在我想通过xtable将其包含在Latex文档中,因此需要更改行名以排除单词开头的任何逗号。理想情况下,输出

我有以下数据帧

GenA<-rep(c("C/C","A/C"),5)
GenB<-rep(c("G/G","G/C"),5)
GenC<-rep(c("A/A","A/T","A/A","A/T","A/A"),2)
Treatment<-rep(c("A","B"),5)
e<-data.frame(GenA,GenB,GenC,Treatment)
现在我想通过
xtable
将其包含在Latex文档中,因此需要更改行名以排除单词开头的任何逗号。理想情况下,输出如下所示:

                  A   B

no Mut          0.6 0.0
MutA,MutB,      0.0 0.6
MutA,MutB,MutC  0.0 0.4
MutC            0.4 0.0
我不想使用
rownames
命令,因为我的基础数据集正在更改,每周都会添加很多行。此外,我有更多的专栏比张贴在这里。因此,我正在寻找实现这一结果的另一种方式。你有什么想法吗?

这个怎么样

tab <- prop.table(ftable(e$summary,e$Treatment),2)
# remove leading commas using a regular expression
attr(tab,'row.vars')[[1]] <- sub('^,+','',attr(tab,'row.vars')[[1]])
# replace entries with no mutations with 'no Mut'
attr(tab,'row.vars')[[1]][attr(tab,'row.vars')[[1]]==''] <- 'no Mut'

tab这几乎可以使用,但对于我的某些列,逗号显示为最后一个字符。我如何删除它?我尝试了:attr(tab,'row.vars')[[1]]正则表达式应该是
,+$”
(即一个或多个逗号后跟字符串的结尾)。您还应该能够将我的代码中的正则表达式替换为
“^,+|,+$”
,以便一次性完成此操作。
                  A   B

no Mut          0.6 0.0
MutA,MutB,      0.0 0.6
MutA,MutB,MutC  0.0 0.4
MutC            0.4 0.0
tab <- prop.table(ftable(e$summary,e$Treatment),2)
# remove leading commas using a regular expression
attr(tab,'row.vars')[[1]] <- sub('^,+','',attr(tab,'row.vars')[[1]])
# replace entries with no mutations with 'no Mut'
attr(tab,'row.vars')[[1]][attr(tab,'row.vars')[[1]]==''] <- 'no Mut'