我有一個包含NA值的隨機列的大型數據框。它看起來像這樣:如何用上一列的內容替換包含NA的列?
2002-06-26 2002-06-27 2002-06-28 2002-07-01 2002-07-02 2002-07-03 2002-07-05
1 US1718711062 NA BMG4388N1065 US0116591092 NA AN8068571086 GB00BYMT0J19
2 US9837721045 NA US0025671050 US03662Q1058 NA BMG3223R1088 US0097281069
3 NA US00847J1051 US06652V2088 NA BMG4388N1065 US0305061097
4 NA US04351G1013 US1046741062 NA BMG7496G1033 US03836W1036
5 NA US2925621052 US1431301027 NA CA88157K1012 US06652V2088
6 NA US34988V1061 US1897541041 NA CH0044328745 US1547604090
7 NA US3596941068 US2053631048 NA GB00B5BT0K07 US1778351056
8 NA US4180561072 US2567461080 NA IE00B5LRLL25 US1999081045
9 NA US4198791018 US2925621052 NA IE00B8KQN827 US3498531017
10 NA US45071R1095 US3989051095 NA IE00BGH1M568 US42222N1037
我需要一個代碼來標識和填充NA列與上一列的內容。因此,例如列「2002-06-27」應該包含「US1718711062」和「US9837721045」。 NA列不規則。
列也是隨機的長度,有的只包含一個元素,所以我想,以確定沒有值的列的最好辦法是看第一行,像這樣:
row.has.na <- which(is.na(data[1,]))
[1] 2 5
也許'data [,row.has.na] < - data [,row.has.na - 1]' – Cath
非常感謝。請提供它作爲答案,我會確認它。 –
你的數據格式很不尋常。我將轉置它們,然後應用'zoo'包中的'na.locf'函數。也許這只是我,但是如果轉換,你的數據對我來說顯得更「自然」。 – nicola