2017-11-21 11 views
1

の値を置き換えます。Rが、私はこのようになります私のデータフレームにいくつかのデータを交換する必要があるデータフレーム

V1 V2 V3 V4 
1 * * 4 5 
2 * * 4 * 
3 4 * 2 2 
4 * * 1 * 

場合は、「*」と同じセルの値FROMと交換し、そのセルであります

V1 V2 V3 V4 
1 0 0 4 5 
2 0 0 4 5 
3 4 0 2 2 
4 4 0 1 2 

私はこれをどのように操作を行うことができます。上記の何行が存在しない上の行、および場合にのみ、0

期待される結果を挿入?

編集:これは、「*」のすべての箇所をNAに置き換えたくないため、How do I replace NA values with zeros in an R dataframe?の複製ではありませんが、これを上のセルの値で置き換えます(必要な最初の行のみゼロでそれを置き換える)する - これは他の質問で覆われている場合には、私はそれを参照してくださいカント、非常に小さなRの知識を持つ誰かが理解することが可能であることを例を与えてください、ありがとう

+0

ちょうど '動物園を行います:: na.locf(置換(df1、df1 == "*"、NA)) 'NA 'として保存する方が良いですが、必要ならば0に変更する方が簡単です – akrun

+0

@akrunこれは上の行から同じセルの値に置き換えられますか?与えられた例のデータ[2,4]は5ではなく0に置き換えられます。 – Bernhard

+0

@Bernhardあなたは正しいです。私はその部分を逃した。修正されました – akrun

答えて

1
aa<-matrix(c("*","*","4","5","*","*","4","*","4","*","2","2","*","*","1","*"),ncol=4,byrow=T) 

aa 
    [,1] [,2] [,3] [,4] 
[1,] "*" "*" "4" "5" 
[2,] "*" "*" "4" "*" 
[3,] "4" "*" "2" "2" 
[4,] "*" "*" "1" "*" 

aa[aa=="*"]=0 
aa 
    [,1] [,2] [,3] [,4] 
[1,] "0" "0" "4" "5" 
[2,] "0" "0" "4" "0" 
[3,] "4" "0" "2" "2" 
[4,] "0" "0" "1" "0" 
関連する問題