讓我們假裝我有這樣的事情:如何完成數據框架中的缺失因子水平?
df <- data.frame(
PERSON = c("Peter", "Peter", "Marcel" , "Lisa", "Lisa"),
FRUIT = c("Apple", "Peach","Apple", "Apple", "Peach"),
A = c(100, 200, 100, 200, 300),
B=c(1,2,3,4,5))
df$PERSON <- as.factor(df$Person)
df$FRUIT <- factor(df$FRUIT, levels = c("Apple", "Peach", "Coconut"))
在
str(df): 'data.frame': 5 obs. of 4 variables:
$ PERSON: Factor w/ 3 levels "Lisa","Marcel",..: 3 3 2 1 1
$ FRUIT : Factor w/ 3 levels "Apple","Peach",..: 1 2 1 1 2
$ A : num 100 200 100 200 300
$ B : num 1 2 3 4 5
我希望讓每個人有本發明的水果的各個層面,這樣的擴大這個數據,幀裏面resulsts :爲A
和B
Person FRUIT A B
1 Peter Apple 100 1
2 Peter Peach 200 2
3 Peter Coconut 0 0
4 Marcel Apple 100 3
5 Marcel Peach 0 0
6 Marcel Coconut 0 0
7 Lisa Apple 200 4
8 Lisa Peach 300 5
9 Lisa Coconut 0 0
缺失值應填充0
我試過tidyr::complete(df$FRUIT, 0)
,但看起來,我用這個函數是錯誤的。
預先感謝
請指定您使用套件'tidyr'的完整功能。 – agenis