1

ログを取り、ヒートマップを作成したいデータがあります。-Infデータ フレームのゼロによって生成されたために、ヒートマップが不平を言っています。

すべてのゼロを非常に小さな数値に変換したいと思います。これは比較的簡単だと思いますが、エラーが発生しています。例えば。

Error in ifelse(ztest = 0, 1e-05, ztest) : unused argument(s) (ztest = 0)

以下にデータの例を示します。

 ztest<-data.frame(A=c(0,1,2,3),B=c(0,0,1,2),C=c(1,2,3,4))

ここに私が行ったいくつかの試みがありますが、それらはすべて未使用の引数について不平を言っているので、これらの関数を正しく書く方法を理解していないと思います. これらの試みはすべて、このサイトに投稿された同様の質問に対する回答と非常によく似ています。

  1. z_inf <- ifelse(ztest=0,0.00001,ztest)
  2. z[z=0]<-0.00001
  3. inf_conv <- function(x){ifelse(x=0,0.00001,x)} z_inf<-apply(z,c(1,2),inf_conv)
4

1 に答える 1

5

あなたがコメント以上のものを持っているように、あなたが望むことをするべきあなたの試み#2への編集があります:

z[z==0] <- .00001

以前は「=」が 1 つしかなかったため、意図したように 0 の値をサブセット化するのではなく、データ フレーム z に 0 の値を割り当てようとしていました。

于 2012-07-16T18:09:31.383 に答える