通过条件选择r中的多列来切片数据
我有一个数据集,在项中有NA\u权重。还有另一个属性称为item_type,它具有乳制品、厨房、家居等级别 我使用了通过条件选择r中的多列来切片数据,r,data-manipulation,R,Data Manipulation,我有一个数据集,在项中有NA\u权重。还有另一个属性称为item_type,它具有乳制品、厨房、家居等级别 我使用了cbind()来获取一些值 x y [1,] "9.3" "Dairy" ` [2,] "5.92" "Soft Drinks" [3,] "17.5" "Meat" [
cbind()
来获取一些值
x y
[1,] "9.3" "Dairy" `
[2,] "5.92" "Soft Drinks"
[3,] "17.5" "Meat"
[4,] "19.2" "Fruits and Vegetables"
[5,] "8.93" "Household"
[6,] "10.395" "Baking Goods"
[7,] "13.65" "Snack Foods"
[8,] NA "Snack Foods"
我想选择物品重量的NA,以替换对应于不同物品类型的物品重量的平均值
例如:乳制品项目类型的值替换为仅与乳制品项目类型相对应的NA
另外,我已经使用data.table包找到了项目类型的单独方法,我一直坚持替换NA。
数据表:-
library(data.table)
dt<-data.table(train)
dt[,mean(Item_Weight,na.rm = T),by=Item_Type]
请发布您的data.table代码及其结果,以便更容易理解过程。因此,您已经完成了
dt[(mean=mean(x)),by=y]
正确获取平均值?@mRcSchwering是的,我做了dt以获取单个项目的类型平均值_weights@Sathish以下是DT的输出,用于查找第1类项目的平均值:乳制品13.42607 2:软饮料11.84746 3:肉类12.81734 4:水果和蔬菜13.22477 5:家庭13.38474 6:烘焙食品12.27711 7:休闲食品12.98788 8:冷冻食品12.86706 9:早餐12.7682010:健康与卫生13.14231 11:硬饮料11.40033 12:罐装12.30571 13:面包11.34694 14:淀粉类食品13.69073 15:其他13.85328 16:海鲜12.55284`
Item_Type V1
1: Dairy 13.42607
2: Soft Drinks 11.84746
3: Meat 12.81734