2017-05-11 1 views
1

저의 목표는 간단한 .dat 파일을 가지고 실제 데이터와 완벽한 Zipf 분포의 이론적 인 점, 즉 분포를 그리는 것입니다. 여기서 모든 항목의 값은 1/(순위)와 같습니다. 난 그냥이 경우 (순위 별 이상적인 이는 Zipf 분포 값을 갖는 새 열을 추가 할 수 있음을 알게 다른 스레드에서gnuplot의 데이터에서 "완벽한"Zipf 분포 작성

# List of most followed users on instagram 
# By rank and millions of followers 
# From Wikipedia 
# https://en.wikipedia.org/wiki/List_of_most_followed_users_on_Instagram 
# rank, millions of followers 

1 222 
2 120 
3 105 
4 101 
5 101 
6 100 
7 99 
8 93 
9 86 
10 85 
11 80 
12 79 
13 76 
14 73 
15 71 
16 69 
17 67 
18 65 
19 63 
20 63 

, 222 : 예를 들어

, 대부분의 내 데이터는 인스 타 그램 계정을 따라 , 111, 74, 55.5 etc.) 두 번째 플롯을 ,'' using 1:3으로 실행하십시오. 그러나 수동으로 계산을 수행하고 원래 파일에 추가해야하며 인 이 필요합니다. 이것이 가능한가? 어떻게 다른 배포판/데이터 계산으로 확장 할 수 있습니까?

답변

0

사용 stats 정확히 당신이 뭐, 내가 아직 안돼서 당신이 (max/$1)

plot 'file.dat' u 1:2 pt 7 t 'data',\ 
    '' u 1:(max/$1) w l t 'ideal Zipf' 
+0

로 이는 Zipf 분포를 계산

다음
stats 'file.dat' u 2 nooutput max = STATS_max 

와 두 번째 컬럼의 최대 값을 계산하는 'stats'? 내가 Zipf 배포판을 이해한다면 (내가 그렇지 않을 수도 있음) 이상적인 배포본이 여기 아래의 * 데이터가 아니어야합니까? 예를 들어 두 번째 데이터는 120이지만 이상적인 데이터는 111일까요? 내가 뭔가를 놓치지 않는 한. 후속 조치를 위해 죄송합니다 : S – Andycyca

+0

두 번째 열의 최대 값을 계산하기 위해 통계를 사용합니다. 당신이 맞은 자료에 관하여, 첫번째 부분은 단순히 "u 1 : 2"이어야한다 – Christoph