У меня есть кадр данных с несколькими столбцами, и я хочу иметь возможность изолировать два столбца и получить общее количество уникальных значений ... вот пример того, что я имею в виду:Извлечение уникальных значений из фрейма данных с использованием R
Допустим, у меня есть кадр данных ДФ:
df<- data.frame(v1 = c(1, 2, 3, 2, "a"), v2 = c("a", 2 ,"b","b", 4))
df
v1 v2
1 1 a
2 2 2
3 3 b
4 2 b
5 a 4
Теперь, что им пытаются сделать, это извлечь только уникальные значения более двух столбцов. Так что, если я просто использовал уникальный() для каждого столбца из положить будет выглядеть следующим образом:
> unique(df[,1])
[1] 1 2 3 a
> unique(df[,2])
[1] a 2 b 4
Но это не хорошо, как он находит только уникальные значения на столбец, в то время как мне нужно общее количество уникальных значений над двумя колоннами! Например, «a» повторяется в обоих столбцах, но я хочу, чтобы он подсчитывался один раз. Для примера вывода того, что мне нужно; представьте столбцы V1 и V2 расположены на верхней части друг с другом следующим образом:
V1_V2
1 1
2 2
3 3
4 2
5 a
6 a
7 2
8 b
9 b
10 4
Уникальные значения V1_V2 бы:
V1_V2
1 1
2 2
3 3
5 a
8 b
10 4
Тогда я мог бы просто посчитать строки с помощью nrow(). Любые идеи, как я мог бы это достичь?
'уникальный (unlist (ДФ))'? Но будьте осторожны с принуждением, которое произойдет, когда вы будете смешивать подобные типы. – joran
'unique (c (df [, 1], df [, 2]))' – dww