как сравнить с векторным оператором в R - PullRequest
0 голосов
/ 30 апреля 2018

выход

Пожалуйста, помогите мне с проблемой.

ниже приведен пример

Statement         comment
good boy          positive feedback
good student      positive feedback
good employee     positive feedback
good boy          negative feedback
good student      negative feedback
good employee     positive feedback

в приведенной выше таблице у нас есть 6 операторов, и у нас есть дубликаты. Теперь хочу узнать те утверждения, которые являются одинаковыми и разными комментариями.

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 30 апреля 2018

Если вы хотите упорядочить (т.е. отсортировать) ваш фрейм данных (назовем его df), то вы можете, например, сделать:

library(dplyr)
arrange(df, Statement, Comment)

чтобы отсортировать ваш фрейм данных по Statement, а затем по Comment.

0 голосов
/ 30 апреля 2018

Вы можете использовать функцию 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...