Вы можете использовать функцию unique
.
#Sample data
df <- data.frame(Statement = rep(c("good boy", "good student",
"good employee"), 3),
Comment = rep(c("positive feedback", "negative feedback",
"neutral feedback"), 3))
df
Statement Comment
1 good boy positive feedback
2 good student negative feedback
3 good employee neutral feedback
4 good boy positive feedback
5 good student negative feedback
6 good employee neutral feedback
7 good boy positive feedback
8 good student negative feedback
9 good employee neutral feedback
Использование функции unique
unique(df)
Выход:
Statement Comment
1 good boy positive feedback
2 good student negative feedback
3 good employee neutral feedback
Edit.
В этом случае я бы tidyvese
пакет / подход.
require(tidyverse)
#Creating new sample data
df <- data.frame(Statement = c("good boy", "good student",
"good employee", "good boy", "good student",
"good employee"),
Comment = c("positive feedback", "positive feedback",
"positive feedback",
"negative feedback", "negative feedback",
"positive feedback"))
Обратите внимание, что ваша главная проблема в том, что вы не пронумеровали свои комментарии. Я упорядочил их по заявлению и пронумеровал по алфавиту.
df %>%
#First arrange by statment
arrange(Statement, Comment) %>%
#Group by statment and give unique IDs
group_by(Statement) %>%
mutate(CommentNumber = seq_along(Comment)) %>%
#Spread by CommnetNumber (your new "ID") and Comment
spread(CommentNumber, Comment)
окончательные результаты:
Statement `1` `2`
<fct> <fct> <fct>
1 good boy positive feedback negative feedback
2 good employee positive feedback positive feedback
3 good student positive feedback negative feedback