У меня есть датафрейм в R, который выглядит так:
Word Base Number Type
- - - -
shoe shoe 4834 singular
shoes shoe 49955 plural
toy toy 75465 singular
toys toy 23556 plural
key key 39485 singular
keys key 6546 plural
jazz jazz 58765 plural
Я бы хотел преобразовать его так, чтобы он выглядел так:
Word_Sg Word_Pl Base Num_Singular Num_Plural
-- -- -- -- --
shoe shoes shoe 4834 49955
toy toys toy 75465 23556
key keys key 39485 6546
NA jazz jazz NA 58765
Таким образом, вместо того, чтобы иметь две строки для значений для единственного и множественного числа, я хочу иметь два столбца, один с номером для единственного числа и один с номером для множественного числа.
Я пробовал несколько вещей, используя dplyr::summarize
, но пока безуспешно. Вот код, который я придумал до сих пор:
dataframe1 <- dataframe %>%
mutate(Num_Singular = case_when(Type == "singular" ~ Number)) %>%
mutate(Num_Plural = case_when(Type == "plural" ~ Number)) %>%
dplyr::select(Word, Base, Num_Singular, Num_Plural) %>%
group_by(Base) %>%
dplyr::summarize(Num_Singular = paste(na.omit(Num_Singular)),
Num_Plural = paste(na.omit(Num_Plural))
Однако, это дает мне эту ошибку:
Error in summarise_impl(.data, dots) :
Column `Num_Singular` must be length 1 (a summary value), not 2)
Я думаю, что проблема может заключаться в том, что есть строки, которые не обязательно имеют единственное и множественное число, а только либо (например, "джаз"). Большинство строк имеют оба, хотя.
Так как я могу сделать это в R или dplyr?