Pontogram documentation

Pontogram helps researchers explore writing productions of very early spellers. It compares the frequencies with which spellers use letters with the frequencies of those letters in a corpus. This approach continues the research described in Kessler, B., Pollo, T. C., Treiman, R., & Cardoso-Martins, C. (2013). Frequency analyses of prephonological spellings as predictors of success in conventional spelling. Journal of Learning Disabilities, 46, 252–259. http://dx.doi.org/10.1177/0022219412449440

Pontogram may be accessed by directing your browser to http://spell.psychology.wustl.edu/pontogram. We have tested most thoroughly with the Firefox browser, although other standards-compliant browsers should also work.

Writing workbooks

Interaction with the tool takes place via spreadsheet workbooks. Users submit their data via workbooks, and the tool returns its analyses in the form of workbooks.

Here are functioning examples of the kind of workbook Pontogram handles:

The workbooks need to be in Open Office XML Workbook format. Spreadsheet programs such as Excel, LibreOffice Calc, and gnumeric produce this sort of file when you ask for an .xlsx file, or an Excel format from 2007 or later. Please note that spreadsheet programs also produce other formats; in particular, Excel users often generate spreadsheets in the older .xls format. Pontogram can only read .xlsx.

Pontogram workbooks use a different spreadsheet (worksheet) for different types of data; these will be discussed below. Each worksheet must be given the exact name called for in this documentation. For example, trials-level information must be given in a sheet named trials. Names are case sensitive: Trials or TRIALS would not be recognized. Sheet names typically appear in tabs at the bottom of your workbook window. The sheets may appear in any order. Pontogram will tolerate the presence of additional, non-Pontogram worksheets. Tolerate means that it will do something reasonable – in this case, not read the extra worksheets – but it will warn you that you are doing something potentially dangerous. For example, if you label a worksheet notes or new trials, it will refuse to read it, and it will warn you that it is a non-Pontogram worksheet. This approach lets you include related information, alternative versions of data, and so forth, but it also helps you if you had made a typo or misremembered the correct name. Pontogram will also tolerate the absence of individual worksheets. Pontogram will ignore spaces at the beginning and end of sheet names.

It is highly recommended that you explicitly tell your spreadsheet program if a column is meant to contain text. If you don’t, the spreadsheet will treat a cell as numeric whenever it is possible to read its contents as a number. The problem is that as far as spreadsheets are concerned, numbers can be written several different ways, but text is literal. Thus if you have a spelling production like “3E5”, you want to treat that as a list of three characters ‹3›, ‹E›, and ‹5› — text — and would not be pleased if your spreadsheet program interprets that as a number, turning it into another representation such as “300,000”. The way to forestall that problem is to declare textual columns as textual. Select the column, invoke the menu item “Format Cells”, and choose “Text”. If you type “3E5” into such a column, it will remain “3E5”.

Advice for specific programs

Ponto does not require much sophistication from the workbooks you give it. The most important factor is that you save your workbook in the right format. This can be assured by doing a “Save as” operation and specifying the the right “file type”. Examples of how the file type is named in various programs (the details will vary somewhat depending on what version of these programs you use):

Excel:
Excel workbook (.xlsx)
Gnumeric:
File type: ECMA 376 1st edition (2006); MS Excel 2007
LibreOffice Calc:
Microsoft Excel 2007-2013 XML (.xlsx)

Format of input worksheets

All worksheets begin with column headers in the very first row. All subsequent rows are cells of data. Column headers must be in the exact form specified in this document under the sheet type: sheets differ in the types of columns they expect. Columns may come in any order. Pontogram will tolerate the presence of extra columns and the absence of specified columns.

Avoid including any extraneous data in the Pontogram cells. For example, in a column for subjects’ writing productions, don’t write content like “DOG or maybe it was a C”. You may, however, add formal comments to any cell. These are the sort of comments which are generated by explicitly requesting “Insert Comment”. Such comments are invisible to Pontogram.

One column in each sheet is the key column, which contains unique identifiers for each row: e.g. a subject ID in a subjects worksheet. Other spreadsheets may refer to a row in this spreadsheet simply by specifying the value in the key column. Pontogram will tolerate the presence of the same key in multiple rows, but its behaviour may be counterintuitive. In some contexts, Pontogram will use only one (the last) of multiple rows that have the same key. It will effectively ignore rows whose key column is blank.

In all cases, spaces are ignored at the beginning and end of a cell. A cell that has no visible content – is truly empty or has only spaces in it – is considered null data, which may be interpreted differently in different contexts. If you wish to explicitly indicate to yourself and your collaborators that a cell is intentionally being left empty, you can put an em dash (—) in the cell, or approximate that with three ordinary hyphens (---).

trials input sheet

The sheet labeled trials presents the main data of the experiment. Each row is a trial: one instance of a subject’s producing one instance of writing.

A small example:

trialsubjectproduction
T0001S100teach
T0002S100read
T0003S103teech
T0004S103reed

All columns in a trials worksheet should be declared to be “Text”.

The key column is named trial. It contains a unique identifier for each row. These identifiers can be any combination of characters. Trial identifiers are used to locate a problem in error or warning messages. If you don’t provide a trial ID, one will be supplied for you. These synthetic IDs start with “⁋trial” followed by 4 digits.

If there is a column named subject, its contents are identifiers that identify the subject who produced a particular writing. These identifiers are used to generate per-subject summaries of data. If you omit a subject ID for a trial, Pontogram will assign the subject ID “⁋anonymous”. The identifiers will also be used to look for information about subjects in the subjects sheet. In particular, if a subject’s name is shown in the subjects sheet, then analyses will be run that show interactions between a trial’s production and the letters in a subject’s name. Own-name analyses will be run, including idiogram proportions and no-name correlations.

The writing produced by the subject on a given trial is shown in a column headed production. Any spaces within a production are ignored except that they split up possible digrams; e.g. in a typical setup, CAT S would yield monograms for C, A, T, and S and digrams for CA and AT.

subjects input sheet

Each row in the subjects sheet gives information about a particular subject which is constant across all trials.

A small example:

subjectname
S100NOHANE
S103TIAGO
S104VALENTINA
S109CESAR

All columns in a subjects worksheet should be declared to be “Text”.

The key column is named subject. It contains a unique identifier for each subject. As far as Pontogram is concerned, identifiers can be any combination of arbitrary characters.

The other possible column is labelled name. If present, it gives the subject’s name. The main purpose of the subjects sheet in the input workbook is to supply given names for each of the productions in the trials sheet. So if either the subjects or the trials sheet lacks a subjects column, the given names cannot be linked with the spelling productions.

Pontogram will verify that the inventory of subject IDs in this spreadsheet matches the inventory in the trials sheet; otherwise it will issue an error message.

monograms input sheet

Each row in the monograms sheet gives the frequency of one monogram in a reference corpus.

The beginning of a monograms sheet might look like this:

monogramfreqcovar
A249721
B25932
C60763
D44754

The key column is headed monogram. This simply contains the individual monograms that you want Pontogram to count and compare to a reference corpus frequency. Because these will be different in each row, there is no need to create unique IDs as is done for trials and subjects sheets. The column should contain every symbol found in the trials productions, except for space. It may contain additional characters that are not found in any of the productions. The rows may be in any order. It is recommended that you declare the monogram column to be text.

Entries don’t have to be literally individual graphemes or Unicode code points. Anything entered in this column will be processed as a single user-perceived character. For example, Á could be entered here, even though the letter and diacritic are two graphemes; and CH, which is considered a single letter in Czech. Note, by the way, that Pontogram always treats an accented character like Á as a sequence of letter plus diacritic, even if you typed it in as a single composed character.

The counts are given in a column labelled freq for frequency. It may contain 0s, which are useful for letters which are not found in the corpus but which may be expected to appear in the trial productions. Frequencies may be counting numbers or real numbers, the latter having a decimal point, e.g., 38.5. The freq column should not be declared text. If any row lacks a frequency, correlation statistics will not be run.

You can also list covariates. For example, you might want the computation of an associate between subject and corpus frequencies to factor out the effect of the letter’s order in the alphabet. To include a covariate, add a column labeled covar. The values in this column may be counting numbers or real numbers, and the column should not be declared text, just as for freq. If any row lacks a covariate, covariates will not be partialled out when running correlations.

digrams input sheet

Each row in the digrams sheet gives the frequency of one digram in a reference corpus.

The beginning of such a table may look like this:

digramfreqcovar
AA02
AB4203
AC9074
AD9075

The key column is headed digram. This contains the different digrams that you want Pontogram to count and compare to a reference corpus frequency. The column should contain every letter pair found in the trials productions, but not combinations of letter plus space. It may contain additional pairs that are not found in any of the productions. Entries don’t have to be literally two graphemes or Unicode code points. Anything entered in this column will be processed as a digram. For example, you could choose to enter the single character Á here, under the theory that it may be perceived as two graphemes. Or you might enter ACH, because CH is considered a single letter in Czech. It is recommended that you declare the digram column to be text.

A crucial restriction is that all digrams must consist of two monograms, that is, two entries from the monograms sheet.

The counts are given in a column labelled freq for frequency. It may contain 0s, which are useful for digrams which are not found in the corpus but which may be expected to appear in the trial productions. Frequencies may be counting numbers or real numbers, the latter having a decimal point, e.g., 38.5. The freq column should not be declared text. If any row lacks a frequency, correlation statistics will not be run on digrams.

A covar column may be added for a covariate, as described for monograms sheets. For example, the covar column shown in our example above is the sum of the order in the alphabet of the letters in the digram.

options input sheet

This sheet lets you make choices controlling the way Pontogram analyses its data.

A full example:

optionselection
ignore-own-lettersTRUE
skip-RFALSE

option heads the column that names the type of option, and selection heads the column that tells your choice. The available options are:

ignore-own-letters
Should Pontogram ignore letters in subjects’ names? If enabled, this option drops from subjects’ productions monograms or digrams found in the subject’s own name, as indicated in the subjectsname column.
skip-R
Should Pontogram skip the step of running the R statistics program? If enabled, this option wil not compute the usual correlation statistics. The main advantage of this is to speed up turnaround; Pontogram spends almost all of its time running the R program.

Both of these options are boolean options with a default of FALSE. That is, if you don’t specify one of the options in the options spreadsheet, you are implicitly saying you don’t want the option. Explicit ways of saying you don’t want the option is to name it in the option column while entering in the selection column of the same row one of the following values:

  • The boolean value FALSE (preferred)
  • The text value “FALSE” (without the quotes)
  • The text value “no” (without the quotes)
  • The number 0

To turn an option on, you must list its name in the options column. You don’t need to specify any value next to it in the selection column, but if you want to be more explicit, you may enter there one of the following values:

  • The boolean value TRUE (preferred)
  • The text value “TRUE” (without the quotes)
  • The text value “yes” (without the quotes)
  • The number 1

For the option ignore-own-letters, your selection can be tailored to show exactly what letters from the subject’s own name should be ignored in his or her productions. If you list this option and leave the selection blank or enter TRUE as we just described, all the letters in the subject’s name will be ignored. There are also three textual selections you may enter to be more explicit or to change which letters will be ignored in the subject’s name:

first
Ignore the first letter (i.e. initial) of the subject’s name. E.g. for Timothy, any “T” that he writes will be ignored as a monogram, but all other letters he writes, including “I”, “M”, “O”, “H”, and “Y”, will be treated as monogram productions. Similarly, for digrams, only “TI” will be ignored.
except-first
Ignore all letters from the subject’s name except for the first letter (initial). E.g. for Timothy, any “I”, “M”, “O”, “H”, and “Y” he writes will be ignored, but all other letters, including “T”, will be treated as monogram productions. Similarly, for digrams, “IM”, “MO”, “OT”, “TH”, and “HY” will be ignored, but all other digrams, including “TI”, will be treated as digram productions.
all
All letters and digrams in the subject’s name will be ignored. This is the same as listing the option ignore-own-letters without a selection, or with a selection of TRUE.

Running an analysis

To run an analysis, click on the Browse... button labelled Workbook containing your input data. Navigate to a spot that contains your workbook full of input data, as described in the previous section, and select that file. Alternatively, you can drag the icon for your workbook onto the Browse... button. Either way, its name should now appear to the right of the Browse... button. Once you are content that you have selected the appropriate file, click on the Analyse! button.

Clicking on the Analyse! button sends all your information to the Pontogram server for analysis. The server may take quite a few seconds to do all the computation required for a full analysis, so please be patient while the browser indicates it is still waiting on a response from the Spell computer.

Output of analysis

The results of the Pontogram analysis are returned in the form of another spreadsheet workbook. It will be named the same as your input file, with results- prepended. When the results workbook is ready, a typical browser will ask you whether you want to save the file or open it with some program, hopefully a spreadsheet program.

The results workbook will bear many resemblances to your input workbook. It will contain much of the input data you submitted, but it will omit non-Pontogram information, such as extraneous worksheets and non-Pontogram columns. Most importantly, it will add several columns that show the results of Pontogram’s analyses. These will be discussed shortly. But first, what could go wrong?

Errors and warnings

Timeout

Pontogram might take a while to analyse your data, especially if you have a lot of it. What might look like a failure to respond may simply be a longish delay. Browsers may give you some minimal feedback, such as the messages “Waiting for spell...” and “Connecting...” seen in Firefox. It is recommended that you wait for an answer rather than clicking repeatedly, which would only send new Analyse! requests for Pontogram to work on. It is possible that you will actually get back a response proclaiming a timeout. If that happens, one recourse is to reconfigure your browser to wait longer before timing out. Details on how to do that vary from browser to browser.

Error messages in the browser

If an error occurs that precludes returning a results workbook, the error message will be returned directly to the browser. Here are examples of such messages. Messages caused by mistyping the URL of the pontogram program (should be http://spell.psychology.wustl.edu/pontogram):

Not Found: The requested URL /XYZ was not found on this server.
You mistyped pontogram. The typo is shown in the error message.
Server not found
You mistyped spell.psychology.wustl.edu
Your connection is not secure
You typed https:// at the beginning of the URL. Pontogram does not support encryption. Use http:// instead.
Other browser messages are sent by Pontogram. These would be the result of some misconfiguration or problem at the server itself and are not your fault. But it would be a good idea to pass these messages on to the Pontogram administrator (copy and paste the browser page into an email message):

Such errors, especially “Unexpected error”, may be accompanied by a backtrace, which tells where in its program Pontogram was when the error occurred. It would be a kindness if you copied the entire returned page (Ctrl-a, Ctrl-c) and pasted it (Ctrl-v) into an email message to the current Pontogram maintainer, attaching your input workbook.

Errors that actually could be your fault:

No input file has been selected.
You hit Analyse! before selecting an input workbook. The text next to the Browse.... button probably says No file selected.
Couldn’t read input workbook.
The file you sent couldn’t be read. The most common cause of this is selecting a file that is not an Open Office XML Workbook (.xlsx).
Less dire messages are written in the results workbook on a special sheet called log. The most likely of such errors are listed at the end of this document.

trials results sheet

If your input workbook contained a trials sheet, you will get back a trials sheet in your results workbook. It includes the same trial, subject, and production data you included on the the input sheet. Some of the data may be somewhat altered from the input; a common change is that missing data will be indicated by an empty cell, not an em-dash . All non-Pontogram trials input data columns will be omitted.

A trials result sheet contains these columns:

trial
Trial ID; a generated one if you did not supply one.
subject
Subject ID, or ⁋anonymous if you did not supply one.
production
The subject’s writing production on this trial. If this field is omitted, all the following results fields will be blank or 0.
mono_parse
Lists each monogram token (as defined in the monograms spreadsheet) found in the production, with a space between each one. This list may seem unnecessary, but can be helpful if, for example, your monograms spreadsheet defines multi-character monograms (like “CH”) or if your production contains characters that are skipped because they are not defined in monograms. Thus monoparse is the definitive list of monograms that are tallied in all the following monogram-based columns — the ones whose names begin with “mono-”.
mono_count
The number of monograms in the production, or 0 if monoparse is empty.
mono_freq
The summed corpus frequency of the monograms in monoparse.
mono_avfreq
The average corpus frequency of the monograms in monoparse.
mono_idio_count
The number of monograms that are found in both monoparse and the subject’s name (as listed in mono_name_set in subjects).
mono_idio_prop
The proportion of monograms in the production that are found in the subject’s name: mono_idio_count divided by mono_count.
di_parse
Like mono_parse, but for digrams as defined in the digrams spreadsheet. Note that digrams overlap, so that the production «TLR» has two digrams: TL, LR. A production with just one monogram has no digrams at all, so this field will be empty. If the option ignore-own-letters was yes, this column as well as the following three columns will omit digrams found in the subject’s name. Note that this is not the same as saying that digrams will not contain letters from the subject’s name. Instead, the production is parsed into digrams, the name is parsed into digrams (as show in di_name_set in the subjects sheet), and the latter are subtracted from the former.
di_count
The number of digrams in the production, or, more precisely, in di_parse.
di_freq
The summed corpus frequency of the digrams in di_parse.
di_avfreq
The average corpus frequency of the digrams in di_parse.
di_idio_count
The number of digrams in the production that are found in the subject’s di_name_set.
di_idio_prop
The proportion of digrams in the production that are found in the subject’s di_name_set: di_idio_count divided by di_count.
tran_count
For each digram as isted in di_parse, counts how many have transitions from one character type to another. Case distinctions are ignored, and so are diacritics. For example, the digrams “AB” and “ÁB” have transitions; the digrams “AA”, “Aa”, and “Aá” do not. The decomp column in the digrams sheet shows how each digram is analyzed as a normalized (decased and de-diacriticized) sequence of two basic characters.
tran_prop
The proportion of digrams that have a transition.
alph_count
The number of digrams in di_parse that consist of two characters that are next to each other, and in their proper sequence, in alphabetical order. Case distinctions and diacritics are ignored, as shown in decomp. Thus the digrams “AB”, “Ab” and “Áb” all get counted towards the alph_count; “AC” does not because the two letters, though in alphabetic order, are not adjacent; “BA” does not because the two letters, though adjacent in the alphabet, are not in proper order. Digits are also counted toward alph_count: “23” counts, but not “24” or “32”. Note that this count is not internationalized; unexpected results will be seen for languages that do not define the alphabet as the 26-letter English sequence.
alph_prop
Proportion of digrams that are adjacent in sequence: alph_count divided by di_count.

subjects results sheet

This sheet returns your input subjects sheet with extra information filled in. It includes a row for every subject you had in the input spreadsheet. After those rows, it adds a row for every additional subject mentioned in your trials sheet. Each row gives information for the following columns. Most of these are analogous to the fields in trials results sheet, but are aggregated across all productions by the same subject.

subject
The Subject ID you supplied. If you had trials rows lacking a subject ID, there will be one row, summarizing those rows, with the ID ⁋anonymous.
name
Subject’s name, which you supplied.
nTrials
Number of trials you listed for this subject in the trials spreadsheet.
mono_name_set
All of the monogram types (as defined in your monograms sheet) found in the subject’s name. They are alphabetized and separated by commas, and the same monogram type is not listed more than once; thus if the name is “TATI”, this cell will be “A I T”. These are presented regardless of what selection you gave for the ignore-own-letters option.
mono_count
The number of monograms across all the subject’s productions. This sums all the subject’s mono_count fields in the trials sheet.
mono_freq
Sums all the subject’s mono_freq fields in the trials sheet.
mono_avfreq
mono_freq divided by mono_count.
mono_idio_count
Sums all the subject’s mono_idio_count fields in the trials sheet.
mono_idio_prop
mono_idio_count divided by mono_count.
mono_corr
The association between the frequency with which this subject used each monogram and the frequency with which the corresponding monogram appears in the reference corpus. This measure is Kendall’s τ (version b), a rank-based measure of association, which is analogous to parametric correlations. If you gave a covar number for each monogram, this number will be a partial correlation, as calculated by the R package ppcor 1.1, as described in Kim, S. (2015) ppcor: An R Package for a Fast Calculation to Semi-partial Correlation Coefficients. Communications for Statistical Applications and Methods, 22(6), 665–674.
mono_corr_p
The p value of the mono_corr association. This is a one-sided estimate of the probability that the association would be at least as great (positive) as it is by chance. (For partial correlations, it appears the p value is two-tailed.)
di_name_set
All of the digrams (as defined in your digrams spreadsheet) found in the subject’s name.
di_count
The number of digrams across all the subject’s productions. These di_ columns exclude the digrams in di_name_set if you had selected the option ignore-own-letters.
di_freq
The summed corpus frequency of the digrams across all the subject’s productions.
di_avfreq
The average corpus frequency of the digrams across all the subject’s productions.
di_idio_count
The number of times the subject used monograms in his or her own name.
di_idio_prop
The proportion of times the digrams the subject used were monograms in the subject’s own name: di_idio_count divided by di_count.
di_corr
The association (Kendall’s τ) between the frequency with which this subject used each digram and the frequency with which the corresponding digram appears in the reference corpus. See also the analogous mono_corr column.
di_corr_p
The p value of the di_corr association. See also the analogous mono_corr_p column.
tran_count
Transition counts summed across all digrams in all the subject’s trials.
tran_prop
The proportion of digrams that have a transition: tran_count divided by di_count.
alph_count
Alphabetical serialization counts summed across all digrams in all the subject’s trials.
alph_prop
The proportion of digrams that are alphabetical sequences: alph_count divided by di_count.

monograms results sheet

The monograms results sheet returns the same information you passed in, though you may notice some reformatting. There are also a few additions:

monogram
The monograms as you entered them.
base
The base form of the monogram is the simplified one, without case distinctions or diacritics. This is the form used when computing transitions and alphabetical serializations within digrams.
freq
Corpus frequency as you entered it.
prop
Proportion of the total frequency that the freq value represents.
covar
Any covariable you entered.

digrams results sheet

The fields in this results sheet are:

digram
The digrams as you entered them.
decompo
The decomposition of the digram into the base forms of two constituent monograms.
transit
1 if the decomposition has two different characters; 0 if the two characters are the same.
alpha
1 if the decomposition are two letters (or digits) that come next to each other in ascending order; else 0. The transit and alpha columns are the basis of the eponymous columns for production digraphs.
freq
Corpus frequency as you entered it.
prop
Proportion of the total frequency that the freq value represents.
covar
Any covariable you entered.

subj_mono results sheet

The subj_mono sheet tells how often each subject used each monogram. There is a separate row for each subject-monogram pair that has a positive count; to save space, rows are omitted for monograms that the subject never wrote. The rows are:

subject
The subject’s ID.
monogram
The monogram.
mono_count
The total number of times the subject used that monogram.
mono_prop
What proportion of the subject’s total output of monograms consists of this monogram.

subj_di results sheet

The subj_di sheet tells how often each subject used each digram. There is a separate row for each subject-digram pair that has a positive count; to save space, rows are omitted for digrams that the subject never wrote. The rows are:

subject
The subject’s ID.
digram
The digram.
di_count
The total number of times the subject used that digram.
di_prop
What proportion of the subject’s total output of digrams consists of this digram.

log results sheet

The log sheet has a column severity that tells whether the message in the accompanying message column concerns a condition that may lead to results you did not anticipate (Warn or Error), such as typing an unrecognized column header, or merely states a useful fact (Info), such as when the analysis was run. The log usually begins with two Info messages:
file_name = …
The name of the workbook file you submitted as input.
2016-09-01 18:41:25
The time when analysis started on the server. The time given is UTC (Zulu time).
More serious, Warn, messages include:
Cannot parse “digrams” sheet without a “monograms” sheet.
If you are only interested in digrams, you might think to suppress monograms analysis by omitting the monograms spreadsheet. But the digrams spreadsheet needs it, because digrams are defined as a sequence of two monograms.
Expected TRUE or FALSE, not X; treating as FALSE
The value you gave for a boolean option in the options sheet was not one of the recognized options.
Ignoring “W”, which is not a Pontogram worksheet
Your workbook contains a sheet named “W”, which is not one of the 5 names recognized by Pontogram (options, trials, subjects, monograms, and digrams). This is a serious problem if the sheet name is a typo (check for uppercase letters) and contains Pontogram data. It’s no problem at all if you intentionally included a sheet with non-Pontogram data; after issuing this complaint, Pontogram will ignore the sheet.
In sheet “digrams”, digram “D” is not a combination of two monograms
This could be an oversight in monograms or a typo in digrams. For example, if you want to treat ‹á› as a combination of two graphemes, i.e. a digram, you need to make sure that both ‹a› and ‹ ́› are listed as monograms and that ‹á› is listed as a digram.
In sheet “monograms”, no monograms are defined.
You have set up a monograms sheet with a monogram column, but no rows containing a non-blank monogram cell. There’s very little of interest that Pontogram can do unless you define what the monograms are.
In sheet “options”, ignoring row with blank “option”
Your options worksheet has a row with nothing in the option column.
In sheet “options”, ignoring unknown option “O”.
Your options worksheet has a name in the option column other than one of the recognized ones (ignore-own-letters and return-matrix). This is likely to be a typo on your part; check for uppercase letters or for failure to use hyphens between the words.
In sheet “subjects”, “ID” is not textual
This usually means that a subject ID looked like a number and was interpret as such. Pontogram will assume that you meant the most likely textual interpretation of that number, but this is risky: you could end up with two subjects who are combined into one because their IDs evaluate to the same number.
In sheet “subjects”, column “subject” contains subjects that do not appear in column “subject” in sheet “trials”
The subjects sheet introduces a subject ID in the subject column that never appears in the subject column of a row in the trials sheet. This is tolerated, but could also mean you made a typo, especially if this is accompanied by the error Worksheet “trials” mentions subjects not found in worksheet “subjects”
In sheet “subjects”, entries in column “subject” should be unique, but “S” is repeated; only the last one will be used.
Two subjects with the same ID; perhaps two IDs got read as the same number.
In sheet “subjects”, subject “S”, name “N” contains graph not found in sheet “mono|digrams”
In order to apply the ignore-own-letters option, Pontogram needs to be able to read entries in the subjects name column as strings of monograms, as listed in the monogram column of the monograms sheet. Sometimes subjects’ names have more variation than you are interested in, e.g. a combination of lower- and uppercase letters when you are not interested in case, or diacritics that you want to ignore. The cleanest approach is to normalize the subjects’ names so as to remove that variation. This “clean-up” should follow the same principles you use to cleaning up the productions data.
In sheet “subjects”, subject “S”, name “N” is not textual.
Subject ID was entered as a number, not as text.
In sheet “trials”, “T” is not textual.
A trial ID was probably entered as a number or boolean.
In sheet “trials”, row “T”, “X” is not textual
A subject ID or a production was probably entered as a number or boolean.
In sheet “trials”, trial “{}”, production “P” contains graph not found in sheet “monograms”
The production column in some rows of the trials sheet cannot be parsed entirely as a sequence of spaces or of monograms defined in the monogram column of the monograms sheet. That is tolerated by Pontogram: it will simply treat that character like a space, which may be exactly what you want. But this situation could also means that you made a typo or omission.
In sheet “trials”, column “subject” contains subjects not found in worksheet “subjects”
Ideally, all entries in the subject column of the trials sheet should exactly match one of the entries in the subject column of the subjects sheet. Pontogram uses that information to find out the subjects’ names. Names are crucial for ignore-own-letters analyses, in which circumstance failure to link subjects between the two sheets would be a serious oversight or typo.
In sheet “S”, column “C”, row “R”, expected a number
In a context that requires a number (the freq or covar columns of the monograms and digrams sheets), you typed something that was not a number. Perhaps you mistakenly formatted the column as textual.
In sheet “S”, column “C”, row “R”, expected “yes” or “no”
In a context that requires a TRUE or FALSE (selection column of the options sheet), you entered something else. Pontogram will proceed by using the value FALSE.
In sheet “S”, entries in column “C” should be unique, but “C” is repeated; only the last one will be used
For example, two different subjects may have been given the same ID in the subjects sheet. Pontogram will proceed by assuming that references to the key from another worksheet refer to the last of the multiple rows that have that value in the key column. But duplicate keys almost always reflects a serious problem, such as a typo, duplicate entry, or a slip-up when assigning IDs.
In sheet “mono|digrams”, gram “G” doesn’t have a number in the “freq” column.
This is a serious problem, because it prevents Pontogram from doing correlations. This message may be raised by blank cells or by having non-numeric data in that column, such as text.
In sheet “mono|digrams”, gram “G” is not textual.
This usually means that a digit or pair of digits was defined as a monogram or digram, but that you hadn’t declared the column to be textual. Pontogram almost always can repair the damage by turning the digit into text, but sometimes this fails. For example, if you enter 01 numerically, intending that as the pair ‹01›, the spreadsheet will interpret that as a 1 and send Pontogram the single character ‹1›.
In sheet “S”, required column “C” is lacking
This message often applies to leaving a frequency count out in a monograms or digrams sheet. This is serious, because omissions make it impossible to do correlations.
In sheet “S”, header “C” is repeated
You used the same Pontogram column header for multiple columns in the same sheet. Pontogram will proceed by using the first such column, but even if the situation is not due to some kind of slip-up, you will quickly confuse yourself or others. If you mean to have alternative versions of the same data (e.g. names cleaned in various ways) then they should be given different, non-Pontogram names.
In sheet “S”, ignoring column headed “C
You gave a column a non-Pontogram name. This is tolerated by Pontogram, which will totally ignore that column after complaining about it. You may want to include ignored columns as a way of managing associated data, or perhaps different versions of data to be used in different runs of the program. But non-Pontogram names may be the sign of a typo or bigger slip-up, such as putting a column in the wrong table.
R program failed to run; return code N
Some misconfiguration of the Spell computer means R couldn’t be run, so correlations were not computed.
Sheet “S” lacks top row header; ignoring.
All Ponto worksheets must have the column headers on row 1. If a sheet doesn’t, the entire sheet is ignored.
Workbook does not have an “options” worksheet
This is perfectly legal, if you want to accept defaults for all options (currently all no), but could also indicate a typo when naming sheets, especially if paired with the error Ignoring “XYZ”, which is not a Pontogram worksheet
Workbook has no “monograms” sheet.
If your workbook doesn’t have a sheet whose name is exactly “monograms”, there is very little that Pontogram can do.
Workbook has no “digrams” sheet.
Pontogram will be unable to do any analyses on the digrams level.
Workbook has no “subjects” sheet.
This may be intentional if you do not want to supply names for your subjects.
Workbook has no “trials” sheet.
An unusual thing to do intentionally unless you are just debugging other sheets. Possible a typo in entering the worksheet name.
If you get an error in a workbook log that you do not understand, the best recourse is to to send the Pontogram administrator both your input workbook and the result workbook, along with a note calling his attention to the specific problem. If the workbooks are very large, please use a Drop box.