我有一个组合零件清单数据框架,有零件清单信息的机械供应和电气供应。我想将机械用品和电气供应分离成它们自己的数据帧,基于PL.Combined列中的某些描述符。
例如,我有:
PL.Combined
PART.NUMBER DESCRIPTION
1x NUT
2x WIRE
3x BOLT
4x CIRCUIT
5x BRACKET
6X CONTACT我想从电气零件{线,电路,接触}中提取机械零件{NUT,螺栓,支架}。
拥有这样的东西:
>PL.Electrical
PART.NUMBER DESCRIPTION
2x WIRE
4x CIRCUIT
6X CONTACT
>PL.Mechanical
PART.NUMBER DESCRIPTION
1x NUT
3x BOLT
5x BRACKET对于如何做到这一点,有什么建议吗?
发布于 2016-05-07 08:42:13
如果您有指定的库存列表,则可以使用该列表将数据拆分为2 data.frames。处理此问题的好方法可以如下所示:
inventory<-read.csv("stackoverflow.csv",stringsAsFactors = F)
inventory
PART.NUMBER DESCRIPTION
1 1x 1/2 inch NUT
2 2x 2mm WIRE
3 3x screw BOLT
4 4x closed & open CIRCUIT
5 5x joint BRACKET
6 6X adhesive CONTACT
inventory$New_desc<-do.call(rbind,lapply(strsplit(inventory[,2],split=" "), function(x) tail(x,1)))
inventory
PART.NUMBER DESCRIPTION New_desc
1 1x 1/2 inch NUT NUT
2 2x 2mm WIRE WIRE
3 3x screw BOLT BOLT
4 4x closed & open CIRCUIT CIRCUIT
5 5x joint BRACKET BRACKET
6 6X adhesive CONTACT CONTACT
Mech<-c("NUT", "BOLT", "BRACKET")
Elec<-c("WIRE", "CIRCUIT", "CONTACT")
Split_inventory<-list()
Split_inventory[['Mech']]<-inventory[which(inventory$New_desc %in% Mech),]
Split_inventory[['Elec']]<-inventory[which(inventory$New_desc %in% Elec),]如果您不太熟悉lists,那么将它们拆分为data.frames遵循相同的逻辑:
Mech_inventory<-inventory[which(inventory$New_desc%in% Mech),]
Elec_inventory<-inventory[which(inventory$New_desc%in% Elec),]https://stackoverflow.com/questions/37086179
复制相似问题