Мы можем использовать функцию aggregate()
в сочетании с max()
определить наибольшее значение SessionLength
для каждого DeviceName
и сохранить результат в новом кадре данных df2
:
df2 <- aggregate(SessionLength ~ . , df1, max)
Тогда мы можем взять подмножество этих данных , выбрав только те устройства со значением SessionLength
ниже определенного предела. Здесь я поставил предел до 10000, так как с данными выборки данных в ОП предел 200 приведет к пустым вектором:
> as.vector(with(df2, DeviceName[SessionLength < 10000]))
#[1] "iPad3,3" "samsung SM-A500FU"
Результат содержит только имена устройств, для которых все записи SessionLength
значение меньше, чем 10000.
данные
df1 <-read.table(text=" DeviceName SessionLength
'samsung SM-A500FU' 6168
'samsung SM-N9005' 16199
'iPad3,3' 5447
'iPad3,3' 2345
'Sony C6602' 13838
'Iriver tolino tab 7' 13657
'iPhone6,2' 13434
'samsung SAMSUNG-SGH-I317' 13292", header=T)
'subset (df, SessionLength <200)'. Хотя вы должны публиковать то, что вы пробовали, задавая вопрос. –
Или 'df [df $ SessionLength <200,]'. – RHertel
Если вы хотите отсортировать данные, вы можете использовать 'df [order (df $ SessionLength),]' –