主要なNAを最後にシフトすることを認めたいよりも長く検索しました。「Rで外部NAを切り取る」、「Rでマトリックスを回転する」、「na.locfで先頭のNAを削除し、他のNAを[閉じた]状態に保つ」、およびzooパッケージのna.trim関数を確認するというスタックの質問で締めくくりました。 。本質的に私はこれを回したい:
D <- matrix(c(1:9), 3)
D[2,1]<- NA
D[3,1]<- NA
D[3,2]<- NA
D <- as.data.frame(D)
これに:
D1 <- data.frame(V1 = c(1,5,9),
V2 = c(4,8,NA),
V3 = c(7,NA,NA))
いつものように、どんな助けでも大歓迎です!
ありがとう、
sort(..., na.last = T)
行ごとに使用できますapply
:
as.data.frame(t(apply(D, 1, sort, na.last = T)))
# V1 V2 V3
#1 1 4 7
#2 5 8 NA
#3 9 NA NA
非NA
エントリの注文を回避するには、次のようにします。
# Revised sample data
D <- matrix(c(1:9), 3)
D[2,1]<- NA
D[3,1]<- NA
D[3,2]<- NA
D <- as.data.frame(D)
D[2,2:3] <- c(8, 5);
D;
# V1 V2 V3
#1 1 4 7
#2 NA 8 5
#3 NA NA 9
as.data.frame(t(apply(D, 1, function(x) c(x[!is.na(x)], x[is.na(x)]))))
#V1 V2 V3
#1 1 4 7
#2 8 5 NA
#3 9 NA NA
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加