R 将(+;)1添加到数据帧中具有0的每一行
我有一个像这样的数据框R 将(+;)1添加到数据帧中具有0的每一行,r,dataframe,R,Dataframe,我有一个像这样的数据框 df1 <- read.table(text = " REF_CNT.x ALT_CNT.x REF_CNT.y ALT_CNT.y 1 397 0 574 2 2 417 2 219 0 3 537 2 31 0 4 117 5 154
df1 <- read.table(text = " REF_CNT.x ALT_CNT.x REF_CNT.y ALT_CNT.y
1 397 0 574 2
2 417 2 219 0
3 537 2 31 0
4 117 5 154 0
5 76 2 52 0
6 238 0 102 2
7 265 0 108 2
8 177 6 156 6
9 407 0 359 4
10 770 3 64 0", header = TRUE)
df1如果要将1添加到包含0的整行中,则以下操作可能会有所帮助:
df[apply(df,1,function(v) prod(v) ==0),] <- df[apply(df,1,function(v) prod(v) ==0),]+1
如果您提供了预期的输出,而我并不完全清楚您想要什么,并且欢迎使用堆栈溢出,那么会更容易。当您在此处发布时,您根据CC-BY-SA许可证将内容提交到该网站,并将所有权转移到该网站。请不要破坏不再(仅)属于您的内容。与其采用apply
ingprod
,不如采用rowSums(df==0,na.rm=TRUE)>0
更为常用(更为有效)的方法,谢谢您的提醒!它也在我的解决方案中更新@Gregor
df[rowSums(df==0)>0,] <- df[rowSums(df==0)>0,]+1