![](/img/trans.png)
[英]Impute Missing Values for Numerical and Categorical, and center and scale the categorical values with exceptions in 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.