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)