Условное создание столбца - PullRequest
2 голосов
/ 20 декабря 2009

У меня есть фрейм данных с двумя столбцами (данные не всегда будут идентичны).

1 1 
2 2 
3 3 
0 0 
-1 -1 
-2 -2 
-3 -3

Я хотел бы создать еще один столбец для верхних 10% столбца и нижних 10% столбца, который будет использоваться в качестве меток для точечной диаграммы.

1 1 
2 2 
3 3 1
0 0 
-1 -1  
-2 -2 
-3 -3 2

Кроме того, он должен иметь возможность выбрать и пометить в любом столбце верхнюю / нижнюю 10%

Есть идеи?

Ответы [ 2 ]

4 голосов
/ 20 декабря 2009

Ваш вопрос немного двусмысленный. Что значит «шкалы, которая будет использоваться в выводах jpeg». имею в виду? Обе колонки всегда идентичны? Возможно, вы ищете что-то вроде следующего:

> dat<-data.frame(a=c(-(1:3),0:3))
> low<-quantile(dat$a,.1)
> high<-quantile(dat$a,.9)
> dat$flag<-NA
> dat$flag[dat$a<=low]<-1
> dat$flag[dat$a>high]<-2
> dat
   a flag
1 -1   NA
2 -2   NA
3 -3    1
4  0   NA
5  1   NA
6  2   NA
7  3    2
2 голосов
/ 21 декабря 2009

Спасибо за ответ, Ян, я понимаю, что сам вопрос был не очень хорошо сформулирован, но мне было трудно объяснить, что я хотел. С вашей помощью я смог собрать это:

top <- subset(data, data$column > quantile(data$column, 0.85))    
bottom <- subset(data, data$column < quantile(data$column, 0.15))
listing <- rbind(top,bottom)
label <- 1:nrow(listing)
listing[sort.list(listing$Distance, decreasing=T),]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...