簡體   English   中英

數據幀中具有NA的冷凝行(R)

[英]Condensing Rows with NAs in a Dataframe (R)

所以我有一個數據幀

是myDF

            Pro1    Pro2    Pro3    Pro4
Pathway1    Woot    <NA>    Yeet    Yike
Pathway2    Dang    <NA>    <NA>    Yike
Pathway3    Blah    Try     <NA>    Lost

而且我不想壓縮NA,所以它看起來像這樣

revisedmydf

            Pro1    Pro2    Pro3    Pro4
Pathway1    Woot    Yeet    Yike
Pathway2    Dang    Yike
Pathway3    Blah    Try     Lost

基本上,NA被刪除,然后它旁邊的列中的信息被拉入其空間。 我不知道如何處理這個,我不確定我是否正確地標題這個問題或者使用了正確的術語。 所以,如果這是一個重復的問題,我道歉。
最好!

我們可以使用apply循環遍歷行,根據'NA'元素的數量連接非NA的行元素和復制的空格( "" )(最好是NA而不是"" -在那種情況下c(x[!is.na(x)], x[is.na(x)])

mydf[] <- t(apply(mydf, 1, function(x) c(x[!is.na(x)], rep("", sum(is.na(x))))))
mydf
#         Pro1 Pro2 Pro3 Pro4
#Pathway1 Woot Yeet Yike     
#Pathway2 Dang Yike          
#Pathway3 Blah  Try Lost     

或者使用order

mydf[] <- t(apply(mydf, 1, function(x) x[order(is.na(x))]))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM