Latvian | Russian
   
SPSS ilustrēta apmācība
Literatūra par SPSS
Lejupielādēt SPSS

PSPP

LimeSurvey survey application

Nepieciešamais fails:
 

Jauno mainīgo aprēķināšanas piemēri


8.10. Примеры вычисления новых переменных

Два следующих примера демонстрируют возможности языка программирования SPSS.

Первый пример: вычисление расхода бензина

Предположим, что мы ведем книгу учета расхода бензина. При каждой заправке в нее записывается дата, пробег в километрах и объем заправки в литрах:

Дата

Пробег

Литров

16.12.1992

20580

60,3

23.12.1992

21250

57,4

04.01.1993

21874

56,6

17.01.1993

22476

56,3

28.01.1993

22954

45,4

12.02.1993

23450

48,6

27.02.1993

24020

57,0

14.03.1993

24611

56,7

Эти данные записаны соответственно в переменных tag, monat, jaehr, kmstand и liter файла tank.sav. Для каждой даты (кроме первой, где это невозможно) требуется вычислить пробег за день и средний расход бензина в расчете на сто километров, а также вывести их через новые переменные.

Это типичный случай, где рационально применить функций LAG и YRMODA. Используя пояснения к этим функциям, которые содержатся в разделе 8.1.2, попробуйте самостоятельно интерпретировать смысл следующих команд:

 COMPUTE   ntage=yrmoda(jahr,monat,tag)     . 
  COMPUTE difftage=ntage-lag(ntage,1) 
  COMPUTE diffkm=kmstand-lag(kmstand/1). 
  COMPUTE  verbr=liter*100/diffkm   . 
  COMPUTE     kmtag=diffkm/difftage     . 
  EXECUTE    . 
  •  Загрузите файл tank.sav.

  •  Введите приведенные выше команды в редактор синтаксиса или примените для этого диалоговое окно Compute Variable.

  •  В заключение командами меню Analyze (Анализ) Reports (Отчеты) Case summaries... (Сводка наблюдений) выведите значения переменных tag, monat, jahr, kmtag и verbr.


Второй пример: вычисление даты пасхи

Никейский собор в 325 г. установил, что пасху следует праздновать в первое воскресенье после первого весеннего полнолуния. На этом основан метод Гаусса для определения даты пасхального воскресенья. Согласно нему, если задан год jahr (например, 1994), то дату пасхального воскресенья, можно вычислить с помощью следующих операций:

 k = целый результат деления jahr/100 
  р = целый результат деления k/3 
  q = целый результат деления k/4 
  m = 15 + k — p — q 
  ml = остаток от деления т/30 
   n = 4 + k - q 
  nl = остаток от деления п/7 
  а = остаток от деления jahr/19 
  Ь = остаток от деления jahr/4 
  с = остаток от деления jahr/7 
  d = 19 * а + ml 
  dl = остаток от деления d/30 
  e = 2*b + 4*c + 6*dl + nl 
  el = остаток от деления е/7 
  х = 22 + dl + el 

Для определения х существует два исключения

  •  Если x=57, то х принимается равным 50

  •  Если d1=28 и el=6, а остаток деления в выражении (11*m+11)/30 меньше 19, то х принимается равным 49

Пасхальное воскресенье выпадает на х-ое марта или, если х больше 31, — на х— 31-ое апреля. Этот алгоритм дает превосходный пример для знакомства с арифметическими функциями TRUNC и MOD (см. раздел 7.1.3). Кроме того, можно еще раз потренироваться в использовании оператора IF (раздел 8.4).

Сначала в редакторе данных следует создать файл данных, содержащий единственную переменную jahr. Затем в строках редактора необходимо ввести годы, для которых вы желаете вычислить дату пасхи. Можно также загрузить файл примеров ostern.sav, содержащий годы с 1995 по 2030.

Затем откройте редактор синтаксиса и введите следующую программу. Команды COMPUTE вплоть до вычисления х можно также ввести в соответствующем диалоговом окне (см. раздел 8.1). Команды, приведенные ниже, вводятся в редакторе синтаксиса. Для того, чтобы избежать ручного ввода этой программы, можно просто загрузить в редактор синтаксиса файл ostern.sps.

 COMPUTE k=TRUNC(jahr/100)  . 
  COMPUTE p=TRUNC(k/3) . 
  COMPUTE q=TRUNC(k/4)  . 
  COMPUTE m=15+k-p-q . 
  COMPUTE ml=MOD(m,30)  . 
  COMPUTE n=4+k-g . 
  COMPUTE nl=MOD(n,7)  . 
  COMPUTE a=MOD(jahr,19)  . 
  COMPUTE b=MOD(jahr,4)  . 
  COMPUTE c=MOD(jahr,7)  
  COMPUTE d=19*a+ml . 
  COMPUTE dl=MOD(d,30)  . 
  COMPUTE e=2*b+4*c+6*dl+nl . 
  COMPUTE el=MOD(e,7)  . 
  COMPUTE x=22+dl+el . 
  IF x=57 x=50 . 
  IF dl=28 AND el=6  
   AND MOD (ll*m+ll,30)<19 x=49 . 
  COMPUTE tag=x . 
  COMPUTE monat=3 . 
  IF (x > 31) tag=x-31 . 
  IF (x > 31) monat=4 . 
  COMPUTE odatum=DATE.MDY(raonat,tag,jahr)  . 
  FORMATS odatum(DATEll)  . 
  LIST odatum . 

Переменные tag и monat определяют дату пасхального воскресенья заданного года (переменной jahr). На их основе функция DATE.MDY вычисляет значение времени во внутреннем формате SPSS (число секунд после введения григорианского календаря). Затем это значение записывается в переменную odatum, которая преобразуется в формат даты DATE11.

После ввода программы или открытия файла в редакторе синтексиса с помощью меню Edit (Правка) выделите все строки и запустите программу. С помощью команды LIST в окне просмотра буде сформирована следующая таблица, фрагмент которой с 1995 до 2002 года, приводится ниже:

 ODATUM 
  16-APR-1995  
   07-APR-1996  
   30-MAR-1997  
   12-APR-1998  
   04-APR-1999  
   23-APR-2000  
   15-APR-2001  
   31-MAR-2002 

Обладая некоторой фантазией и знанием командного синтаксиса SPSS, можно решать задачи, не связанные непосредственно со статистическими вычислениями.




Top.LV Latvijas Reitingi e-TIRGUS.LV on-line.lv Izglītība Education Яндекс.Метрика
Klienti

Roche

TNS Latvija

Latvijas Pilsoniskā alianse

LU FSI

Sendigo

Prime Mail

Valodu mācību centrs
Lapas karte
www.citariga.lv || www.limesurvey.ru || www.exsobalt.lv