簡體   English   中英

R:從相同向量中的其他分類值中估算缺失值

[英]R: Impute missing values from other categorical values in same vector

我有一個很大的數據集,並且正在嘗試確定如何為相同的學生編號的相同向量中的缺失值推算現有的分類值(研討會編號)。 下面是一個示例,其中學生“ 813”的第一次觀察缺少他的研討會編號,根據第二次觀察,該研討會編號應該為“ Sem5”。

Stu#  Sem#
812   Sem1
812   Sem1
813
813   Sem5
814   Sem9
814   Sem9

我已經呆了幾個小時,並注意到有任何成功。 提前致謝。

假設您的數據位於Sem#為字符的數據幀中(如果不是,請轉換為字符),並且Sem#的唯一可能值為空或正確的研討會名稱,請嘗試:

df.ord <- df[order(nchar(df$Sem), decreasing=T), ]
merge(df, df.ord[!duplicated(df.ord$Stu), ], by="Stu", all.x=T)[c(1, 3)]
#   Stu Sem.y
# 1 812  Sem1
# 2 812  Sem1
# 3 813  Sem5
# 4 813  Sem5
# 5 814  Sem9
# 6 814  Sem9

注意我更改了您的列標題以避免#

基本上,我在這里要做的是首先對數據重新排序,以使具有空白Sem#值最后結束,然后使用duplicated將數據幀子集Sem#具有非空白Sem#值的非重復值。 一旦有了,我們就可以合並回原始數據以附加Sem#

暫無
暫無

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

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