Есть ли способ объединить несколько разных факторных записей в новый, более общий столбец? - PullRequest
0 голосов
/ 01 мая 2019

EDIT: Оказывается, я неправильно сформулировал свой вопрос и что на него уже отвечали другие темы, подобные этим Очистка уровней факторов (сворачивание нескольких уровней / меток) .

Я работаю над анализом большого набора данных, включающего использование земли фермерами в Нидерландах. Мои данные экспортируются из 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 'в новую колонку (назовем ее grouped2018), где все они говорят "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"
     })

Но, похоже, это не сработает ... У кого-нибудь есть предложения о том, как решить эту проблему, или, возможно, известно, задан ли этот вопрос другим способом, которого я не нашел из-за другой формулировки?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...