Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 将(+;)1添加到数据帧中具有0的每一行_R_Dataframe - Fatal编程技术网

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
ing
prod
,不如采用
rowSums(df==0,na.rm=TRUE)>0
更为常用(更为有效)的方法,谢谢您的提醒!它也在我的解决方案中更新@Gregor
df[rowSums(df==0)>0,] <- df[rowSums(df==0)>0,]+1