Я хочу взять n-ую строку в кадре данных и сравнить ее со всеми строками, которые не являются n-ой строкой, и вернуть, сколько из этих столбцов совпадают и / или не совпадают.
Я попробовал функцию соответствия иifelse для единичных наблюдений, но я не смог воспроизвести его для всего фрейма данных.
В хранилище данных набора данных указан приоритет заказа, имя клиента, режим доставки, сегмент клиента и категория.Это выглядит так:
> head(df2)
Order.Priority Customer.Name Ship.Mode Customer.Segment Product.Category
1 Not Specified Dana Teague Regular Air Corporate Office Supplies
2 Critical Vanessa Boyer Regular Air Consumer Office Supplies
3 Critical Wesley Tate Regular Air Corporate Technology
4 High Brian Grady Delivery Truck Corporate Furniture
5 Medium Kristine Connolly Delivery Truck Corporate Furniture
6 High Emily Britt Regular Air Corporate Office Supplies
Код, который я пробовал (извлекает соответствующие столбцы):
df <- read.csv("Superstore.csv", header = TRUE)
df2 <- df[,c(2,4,5,6,7)]
match(df2[2,],df2[1,],nomatch = 0)
Это возвращает:
> match(df2[2,],df2[1,],nomatch = 0)
[1] 0 0 3 0 5
Используя ifelse, я получаю:
> ifelse(df2[1,]==df2[2,],1,0)
Order.Priority Customer.Name Ship.Mode Customer.Segment Product.Category
1 0 0 1 0 1
Как я уже сказал, это именно тот результат, который мне нужен, но я не смог воспроизвести весь кадр данных.