The R Project SVN R

Rev

Rev 27757 | Rev 29428 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 27757 Rev 29381
Line 159... Line 159...
159
		REAL(pch)[i] : NA_INTEGER;
159
		REAL(pch)[i] : NA_INTEGER;
160
    }
160
    }
161
    else if (isString(pch)) {
161
    else if (isString(pch)) {
162
	ans = allocVector(INTSXP, n);
162
	ans = allocVector(INTSXP, n);
163
	for (i = 0; i < n; i++)
163
	for (i = 0; i < n; i++)
164
	    INTEGER(ans)[i] = CHAR(STRING_ELT(pch, i))[0];
164
	    INTEGER(ans)[i] = STRING_ELT(pch, i) != NA_STRING ?
-
 
165
		CHAR(STRING_ELT(pch, i))[0] : NA_INTEGER;
-
 
166
    }
-
 
167
    else if (isLogical(pch)) {/* NA, but not TRUE/FALSE */
-
 
168
	ans = allocVector(INTSXP, n);
-
 
169
	for (i = 0; i < n; i++)
-
 
170
	    if(LOGICAL(pch)[i] == NA_LOGICAL)
-
 
171
		INTEGER(ans)[i] = NA_INTEGER;
-
 
172
	    else error("only NA allowed in logical plotting symbol");
165
    }
173
    }
166
    else error("invalid plotting symbol");
174
    else error("invalid plotting symbol");
167
    for (i = 0; i < n; i++) {
175
    for (i = 0; i < n; i++) {
168
	if (INTEGER(ans)[i] < 0 && INTEGER(ans)[i] != NA_INTEGER)
176
	if (INTEGER(ans)[i] < 0 && INTEGER(ans)[i] != NA_INTEGER)
169
	    INTEGER(ans)[i] = dflt;
177
	    INTEGER(ans)[i] = dflt;