R 如何将列拆分为多个列

R 如何将列拆分为多个列,r,R,我的数据如下所示: structure(list(did = c(216L, 221L, 221L, 221L, 221L, 221L, 221L, 221L, 214L, 214L, 214L, 221L, 221L, 221L, 221L, 221L, 221L, 214L, 221L, 221L, 221L, 221L, 205L, 221L, 221L), fruid = c(1007L, 1697L, 1697L, 1698L, 1697L, 1697L, 1697L, 1697

我的数据如下所示:

structure(list(did = c(216L, 221L, 221L, 221L, 221L, 221L, 221L, 
221L, 214L, 214L, 214L, 221L, 221L, 221L, 221L, 221L, 221L, 214L, 
221L, 221L, 221L, 221L, 205L, 221L, 221L), fruid = c(1007L, 1697L, 
1697L, 1698L, 1697L, 1697L, 1697L, 1697L, 2074L, 2074L, 2074L, 
2087L, 2087L, 2087L, 2087L, 2087L, 2087L, 2074L, 2087L, 2087L, 
3884L, 3884L, 2249L, 2087L, 1461L), hhid = c(89L, 5258L, 5256L, 
5192L, 5301L, 5289L, 5296L, 5255L, 16413L, 8911L, 21550L, 5683L, 
12001L, 5761L, 5667L, 5682L, 11988L, 21553L, 11996L, 11986L, 
12158L, 12191L, 10367L, 5676L, 1130L), isenterprise = c(1L, 1L, 
0L, 1L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 1L, 1L, 1L, 0L, 1L), sale = c(11, 1750, 0, 4000, 0, 0, 
2450, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1600, 0, 0
), purchase = c(255, 750, 0, 3838, 0, 0, 1700, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), cash = c(99, 520, 0, 
1150, 0, 0, 1585, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
2500, 0, 0), asset = c(11, 1750, 0, 4000, 0, 0, 2450, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1600, 0, 0), islivestock = c(0L, 
0L, 1L, 0L, 1L, 1L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L), lstype = c("0", "0", "Goatry", 
"0", "Goatry", "Goatry", "0", "Goatry", "0", "0", "0", "0", "0", 
"0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"), 
    isagriculture = c(0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
    0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L
    ), tsavings = c(5L, 1120L, 1200L, 2150L, 2700L, 4220L, 400L, 
    400L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
    0L, 840L, 0L, 0L), month_year = c("Dec - 2019", "Dec - 2019", 
    "Dec - 2019", "Dec - 2019", "Dec - 2019", "Dec - 2019", "Dec - 2019", 
    "Dec - 2019", "Jan - 2020", "Jan - 2020", "Jan - 2020", "Jan - 2020", 
    "Jan - 2020", "Jan - 2020", "Jan - 2020", "Jan - 2020", "Jan - 2020", 
    "Jan - 2020", "Jan - 2020", "Jan - 2020", "Jan - 2020", "Jan - 2020", 
    "Jan - 2020", "Jan - 2020", "Jan - 2020")), row.names = c(NA, 
25L), class = "data.frame")
因此,预期的输出如下所示: 月、年、月、月、月、月、月、年、月、月、年、月、月、年、月、月、年、月、月、年、月、月、年、月、月、年、月、月、年、月、年、月、月、年、月、月、年、月、月、年、月、月、年、月、月、年 库存、盘点、销售、购买、现金、资产、储蓄就是农业、盘点、销售、购买、现金、资产、储蓄

为了解释输出,我想以月为基础计算hhid,对于iEnterprise来说也是如此,即牲畜和农业。我尝试过的另一种方法是用列名将其拆分,就像fruid月为基础计算hhid,年为基础,年为基础计算hhid,企业为基础,销售为基础,购买为基础,现金为基础,资产为基础。
另外两个是iLiveStock和iAgriculture。总共有3个数据帧。但我要求将其放在一个数据帧中,如预期输出中所述。

您是想根据iEnterprise(等)计算hhid,还是想根据month_year(年)计算iEnterprise(等)?hhid_计数将是month_year(年)和iEnterprise(等)将按fruid计数。因此基本上使用group\U by(did、fruid、MOUNT\U year、hhid)