有没有一种方法可以将几个不同的阶乘条目合并到一个新的,更通用的列中?

时间:2019-05-01 11:32:45

标签: r dataframe grouping categories

编辑: 原来我提出的问题是错误的,并且已经在其他类似Cleaning up factor levels (collapsing multiple levels/labels)的线程中得到了解答。

我正在分析一个大型数据集,其中包括整个荷兰农民的土地使用情况。我的数据是从QGIS导出的,如下所示。

> head(gisData)
Naam                                  2018              2017
1 B1.Schoonenburgweg.NieuwLekkerland  Grasland, blijvend Grasland, blijvend
2 B1.Schoonenburgweg.NieuwLekkerland  Grasland, tijdelijk Grasland, blijvend
3 B1.Schoonenburgweg.NieuwLekkerland  Grasland, tijdelijk Grasland, blijvend
4 B1.Schoonenburgweg.NieuwLekkerland  Grasland, blijvend Grasland, blijvend
5 B1.Schoonenburgweg.NieuwLekkerland  Grasland, blijvend Grasland, blijvend
6 B1.Schoonenburgweg.NieuwLekkerland  Grasland, natuurlijk. Hoofdfunctie landbouw Grasland, blijvend

每年我都有某种地块上的庄稼类型。由于我有50多个类别,因此我想将它们分组为更小,更通用的类别。例如,将“ Grasland,blijvend”,“ Grasland,tijdelijk”,“ Grasland,naturlijk”组合在一起。 Hoofdfunctie landbouw'进入一个新列(我们将其命名为group2018),他们都说“ Grasland”。

> head(gisData)
Naam                                 2018              grouped2018
1 B1.Schoonenburgweg.NieuwLekkerland Grasland, blijvend Grasland
2 B1.Schoonenburgweg.NieuwLekkerland Grasland, tijdelijk Grasland
3 B1.Schoonenburgweg.NieuwLekkerland Grasland, tijdelijk Grasland
4 B1.Schoonenburgweg.NieuwLekkerland Grasland, blijvend Grasland
5 B1.Schoonenburgweg.NieuwLekkerland Grasland, blijvend Grasland
6 B1.Schoonenburgweg.NieuwLekkerland Grasland, natuurlijk. Hoofdfunctie landbouw Grasland

我在类似主题上搜索了stackoverflow,但是发现的主题是将两列合并为一列,或者计算均值或类似值。

with(inBuffer,
     if(X2018=="Grasland, natuurlijk"){
       grouped2018 <- "Grasland"
     } else {
       grouped2018 <- "Overig"
     })

但这似乎不起作用...是否有人对如何解决这个问题有任何建议,或者也许知道是否以不同的方式提出了这个问题,而我却因不同的表述而找不到?

0 个答案:

没有答案