1
でNAと最後から二番目の非空行テールを交換してください:私はこのようになり、データフレームを持つR
df <- read.table(tc <- textConnection("
var1 var2 var3 var4
1 2 7 NA
4 4 NA 6
2 NA 3 NA
4 4 4 4
1 3 NA NA"), header = TRUE); close(tc)
私は私に新しいデータを与えるためにNASとの最後から二番目の非空行テールを交換したいです
df <- read.table(tc <- textConnection("
var1 var2 var3 var4
1 NA 7 NA
4 NA NA 6
NA NA 3 NA
4 4 NA 4
NA 3 NA NA"), header = TRUE); close(tc)
私は文を使って、最後から二番目の非空の行の尾の位置を特定することができるよ::
penultimate <- function(x) head(tail(x[!is.na(x)], 2),1)
次のようになりますフレーム
私の問題は、これらをNAsに変更する方法です。
を使用して値がNASとの置き換えられるかは明らかではありません。例えば、第1列では3行と5行がNAであり、第2列では3行がNAである。 – akrun
"最後から2番目の空でない行の尾"とはどういう意味ですか? –
@akrunの場合、置換は行で行われ、列では行われません。元のデータフレームの第1行では、最後から2番目の非NA値は2であり、新しいデータフレームではNAに置き換えられることに注意してください。 2行目の場合、元のデータフレームの最後から2番目の値は4で、新しいデータフレームではNAに置き換えられます。今すぐパターンを取得しますか? – user1783739