Как сохранить только уникальные значения в каждой строке для фрейма данных - PullRequest
0 голосов
/ 07 мая 2018

Как сохранить только уникальные значения в каждой строке для фрейма данных ввод как указано ниже:

1 1 2 3 4 1 6 7 8
2 2 5 5 7 8 9 0 0
6 6 6 6 5 1 2 3 4

Вывод будет следующим:

1 2 3 4 6 7 8
2 5 7 8 9
6 5 1 2 3 4

plyr, unique Я пытался, но он сохраняет уникальные значения в полном наборе данных

Ответы [ 3 ]

0 голосов
/ 07 мая 2018

Вы можете использовать sapply или lapply для этого.

#supposing your data.frame is called 'df'

sapply(df, unique)
#$x1
#[1] 1 2 3 4 6 7 8
#
#$x2
#[1] 2 5 7 8 9 0
#
#$x3
#[1] 6 5 1 2 3 4

или

lapply(df, unique)
#$x1
#[1] 1 2 3 4 6 7 8
#
#$x2
#[1] 2 5 7 8 9 0
#
#$x3
#[1] 6 5 1 2 3 4
0 голосов
/ 07 мая 2018
A=apply(dat,1,unique)
data.frame(t(sapply(A,`length<-`,max(lengths(A)))))
  X1 X2 X3 X4 X5 X6 X7
1  1  2  3  4  6  7  8
2  2  5  7  8  9  0 NA
3  6  5  1  2  3  4 NA
0 голосов
/ 07 мая 2018
# Imagine D is your data.frame object
  apply(D,1, function(x) rle(x)$values)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...