This is one method -
df <- read.csv(textConnection(
'DellVostro,15714
Nokia510,13392
SonyE151,10506
LGE15,10326
Nokia20,8830
samsung1516,7910
samsung1556,7560
samsung1517,7430
fordgt49,7410
samsung156,07350'), header = FALSE)
df <- df[order(df$V2,decreasing=TRUE),]
df$V3 <- cumsum(df$V2)
df$V3 <- df$V3/sum(df$V2)
V3 tells you where to mark your 50% -
> df
V1 V2 V3
1 DellVostro 15714 0.1629610
2 Nokia510 13392 0.3018418
3 SonyE151 10506 0.4107935
4 LGE15 10326 0.5178786
5 Nokia20 8830 0.6094495
6 samsung1516 7910 0.6914797
7 samsung1556 7560 0.7698801
8 samsung1517 7430 0.8469324
9 fordgt49 7410 0.9237773
10 samsung156 7350 1.0000000