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'