簡體   English   中英

如何使用2個類別變量和1個數字變量的信息創建新變量

[英]How to create new variables with information from 2 categorical and 1 numeric variable

我有一個數據集,看起來像這樣:

ID  Meal    Food    Amount
1   Lunch   Meat    50
1   Lunch   Potato  10
1   Dinner  Fish    105
1   Dinner  Rice    100
1   Dinner  Pulses  50
2   BF     Cereal   100
2   BF      Milk    200
2   Lunch   Rice    200
2   Lunch   Chicken 150
2   Lunch   Veg     100
2   Dinner  Pasta   200
2   Dinner  Meat    200
2   Dinner  Tomato  50
2   Dinner  Cheese  10

我想使用變量Food,Meal和Amount中的信息來創建幾個新變量,因此一行上只有一個ID。 因此,我將使用諸如Cereal_BF,Cereal_Lunch,Cereal_Dinner,Meat_BF,Meat_Lunch,Meat_Dinner,Potato_BF,Potato_Lunch,Potato_Dinner等變量,這些變量顯示來自變量Amount的對應信息。

謝謝您的幫助!

帕特里夏

您可以合並列,並使用tidyverse函數傳播它們。

dd %>% 
   unite(MealFood, Meal, Food) %>% 
   spread(MealFood, Amount)

哪里

dd<-read.table(text="ID  Meal    Food    Amount
1   Lunch   Meat    50
               1   Lunch   Potato  10
               1   Dinner  Fish    105
               1   Dinner  Rice    100
               1   Dinner  Pulses  50
               2   BF     Cereal   100
               2   BF      Milk    200
               2   Lunch   Rice    200
               2   Lunch   Chicken 150
               2   Lunch   Veg     100
               2   Dinner  Pasta   200
               2   Dinner  Meat    200
               2   Dinner  Tomato  50
               2   Dinner  Cheese  10", header=T, stringsAsFactors=F)

暫無
暫無

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

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