first commit

This commit is contained in:
Andreas Gammelgaard Damsbo 2024-01-11 09:43:23 +01:00
commit 6333bcee61
208 changed files with 413695 additions and 0 deletions

498
docs/shinylive/Editor.css Normal file
View file

@ -0,0 +1,498 @@
/* Shinylive 0.2.3
// Copyright 2023 RStudio, PBC */
/* node_modules/balloon-css/balloon.min.css */
:root {
--balloon-border-radius: 2px;
--balloon-color: rgba(16,16,16,0.95);
--balloon-text-color: #fff;
--balloon-font-size: 12px;
--balloon-move: 4px;
}
button[aria-label][data-balloon-pos] {
overflow: visible;
}
[aria-label][data-balloon-pos] {
position: relative;
cursor: pointer;
}
[aria-label][data-balloon-pos]:after {
opacity: 0;
pointer-events: none;
transition: all 0.18s ease-out 0.18s;
text-indent: 0;
font-family:
-apple-system,
BlinkMacSystemFont,
"Segoe UI",
Roboto,
Oxygen,
Ubuntu,
Cantarell,
"Open Sans",
"Helvetica Neue",
sans-serif;
font-weight: normal;
font-style: normal;
text-shadow: none;
font-size: var(--balloon-font-size);
background: var(--balloon-color);
border-radius: 2px;
color: var(--balloon-text-color);
border-radius: var(--balloon-border-radius);
content: attr(aria-label);
padding: .5em 1em;
position: absolute;
white-space: nowrap;
z-index: 10;
}
[aria-label][data-balloon-pos]:before {
width: 0;
height: 0;
border: 5px solid transparent;
border-top-color: var(--balloon-color);
opacity: 0;
pointer-events: none;
transition: all 0.18s ease-out 0.18s;
content: "";
position: absolute;
z-index: 10;
}
[aria-label][data-balloon-pos]:hover:before,
[aria-label][data-balloon-pos]:hover:after,
[aria-label][data-balloon-pos][data-balloon-visible]:before,
[aria-label][data-balloon-pos][data-balloon-visible]:after,
[aria-label][data-balloon-pos]:not([data-balloon-nofocus]):focus:before,
[aria-label][data-balloon-pos]:not([data-balloon-nofocus]):focus:after {
opacity: 1;
pointer-events: none;
}
[aria-label][data-balloon-pos].font-awesome:after {
font-family:
FontAwesome,
-apple-system,
BlinkMacSystemFont,
"Segoe UI",
Roboto,
Oxygen,
Ubuntu,
Cantarell,
"Open Sans",
"Helvetica Neue",
sans-serif;
}
[aria-label][data-balloon-pos][data-balloon-break]:after {
white-space: pre;
}
[aria-label][data-balloon-pos][data-balloon-break][data-balloon-length]:after {
white-space: pre-line;
word-break: break-word;
}
[aria-label][data-balloon-pos][data-balloon-blunt]:before,
[aria-label][data-balloon-pos][data-balloon-blunt]:after {
transition: none;
}
[aria-label][data-balloon-pos][data-balloon-pos=up]:hover:after,
[aria-label][data-balloon-pos][data-balloon-pos=up][data-balloon-visible]:after,
[aria-label][data-balloon-pos][data-balloon-pos=down]:hover:after,
[aria-label][data-balloon-pos][data-balloon-pos=down][data-balloon-visible]:after {
transform: translate(-50%, 0);
}
[aria-label][data-balloon-pos][data-balloon-pos=up]:hover:before,
[aria-label][data-balloon-pos][data-balloon-pos=up][data-balloon-visible]:before,
[aria-label][data-balloon-pos][data-balloon-pos=down]:hover:before,
[aria-label][data-balloon-pos][data-balloon-pos=down][data-balloon-visible]:before {
transform: translate(-50%, 0);
}
[aria-label][data-balloon-pos][data-balloon-pos*=-left]:after {
left: 0;
}
[aria-label][data-balloon-pos][data-balloon-pos*=-left]:before {
left: 5px;
}
[aria-label][data-balloon-pos][data-balloon-pos*=-right]:after {
right: 0;
}
[aria-label][data-balloon-pos][data-balloon-pos*=-right]:before {
right: 5px;
}
[aria-label][data-balloon-pos][data-balloon-po*=-left]:hover:after,
[aria-label][data-balloon-pos][data-balloon-po*=-left][data-balloon-visible]:after,
[aria-label][data-balloon-pos][data-balloon-pos*=-right]:hover:after,
[aria-label][data-balloon-pos][data-balloon-pos*=-right][data-balloon-visible]:after {
transform: translate(0, 0);
}
[aria-label][data-balloon-pos][data-balloon-po*=-left]:hover:before,
[aria-label][data-balloon-pos][data-balloon-po*=-left][data-balloon-visible]:before,
[aria-label][data-balloon-pos][data-balloon-pos*=-right]:hover:before,
[aria-label][data-balloon-pos][data-balloon-pos*=-right][data-balloon-visible]:before {
transform: translate(0, 0);
}
[aria-label][data-balloon-pos][data-balloon-pos^=up]:before,
[aria-label][data-balloon-pos][data-balloon-pos^=up]:after {
bottom: 100%;
transform-origin: top;
transform: translate(0, var(--balloon-move));
}
[aria-label][data-balloon-pos][data-balloon-pos^=up]:after {
margin-bottom: 10px;
}
[aria-label][data-balloon-pos][data-balloon-pos=up]:before,
[aria-label][data-balloon-pos][data-balloon-pos=up]:after {
left: 50%;
transform: translate(-50%, var(--balloon-move));
}
[aria-label][data-balloon-pos][data-balloon-pos^=down]:before,
[aria-label][data-balloon-pos][data-balloon-pos^=down]:after {
top: 100%;
transform: translate(0, calc(var(--balloon-move) * -1));
}
[aria-label][data-balloon-pos][data-balloon-pos^=down]:after {
margin-top: 10px;
}
[aria-label][data-balloon-pos][data-balloon-pos^=down]:before {
width: 0;
height: 0;
border: 5px solid transparent;
border-bottom-color: var(--balloon-color);
}
[aria-label][data-balloon-pos][data-balloon-pos=down]:after,
[aria-label][data-balloon-pos][data-balloon-pos=down]:before {
left: 50%;
transform: translate(-50%, calc(var(--balloon-move) * -1));
}
[aria-label][data-balloon-pos][data-balloon-pos=left]:hover:after,
[aria-label][data-balloon-pos][data-balloon-pos=left][data-balloon-visible]:after,
[aria-label][data-balloon-pos][data-balloon-pos=right]:hover:after,
[aria-label][data-balloon-pos][data-balloon-pos=right][data-balloon-visible]:after {
transform: translate(0, -50%);
}
[aria-label][data-balloon-pos][data-balloon-pos=left]:hover:before,
[aria-label][data-balloon-pos][data-balloon-pos=left][data-balloon-visible]:before,
[aria-label][data-balloon-pos][data-balloon-pos=right]:hover:before,
[aria-label][data-balloon-pos][data-balloon-pos=right][data-balloon-visible]:before {
transform: translate(0, -50%);
}
[aria-label][data-balloon-pos][data-balloon-pos=left]:after,
[aria-label][data-balloon-pos][data-balloon-pos=left]:before {
right: 100%;
top: 50%;
transform: translate(var(--balloon-move), -50%);
}
[aria-label][data-balloon-pos][data-balloon-pos=left]:after {
margin-right: 10px;
}
[aria-label][data-balloon-pos][data-balloon-pos=left]:before {
width: 0;
height: 0;
border: 5px solid transparent;
border-left-color: var(--balloon-color);
}
[aria-label][data-balloon-pos][data-balloon-pos=right]:after,
[aria-label][data-balloon-pos][data-balloon-pos=right]:before {
left: 100%;
top: 50%;
transform: translate(calc(var(--balloon-move) * -1), -50%);
}
[aria-label][data-balloon-pos][data-balloon-pos=right]:after {
margin-left: 10px;
}
[aria-label][data-balloon-pos][data-balloon-pos=right]:before {
width: 0;
height: 0;
border: 5px solid transparent;
border-right-color: var(--balloon-color);
}
[aria-label][data-balloon-pos][data-balloon-length]:after {
white-space: normal;
}
[aria-label][data-balloon-pos][data-balloon-length=small]:after {
width: 80px;
}
[aria-label][data-balloon-pos][data-balloon-length=medium]:after {
width: 150px;
}
[aria-label][data-balloon-pos][data-balloon-length=large]:after {
width: 260px;
}
[aria-label][data-balloon-pos][data-balloon-length=xlarge]:after {
width: 380px;
}
@media screen and (max-width: 768px) {
[aria-label][data-balloon-pos][data-balloon-length=xlarge]:after {
width: 90vw;
}
}
[aria-label][data-balloon-pos][data-balloon-length=fit]:after {
width: 100%;
}
/* src/Components/Editor.css */
.shinylive-editor {
--bg-light-shade-color: #f6f6f6;
--button-gray-color: #999;
--button-hover-color: #hsl(207, 69%, 25%);
--border-color: #aaa;
--pad: 5px;
display: grid;
grid-template-rows: auto 1fr;
grid-template-areas: "header" "editor";
position: relative;
}
.ResizableGrid.editor-viewer:not(.been-dragged) > .shinylive-editor {
max-height: 800px;
}
.editor-header {
grid-area: header;
}
.editor-container {
grid-area: editor;
}
.shinylive-editor > div {
min-width: 0;
min-height: 0;
}
.editor-header {
display: flex;
padding-top: var(--pad);
padding-left: var(--pad);
padding-right: var(--pad);
justify-content: space-between;
align-items: flex-end;
border-bottom: 1px solid var(--border-color);
}
.editor-files > button {
font-size: 14px;
font-family: var(--font-face);
height: 26px;
background-color: var(--bg-light-shade-color);
color: #444;
border: 1px solid #ddd;
border-top-left-radius: 3px;
border-top-right-radius: 3px;
border-bottom: none;
border-bottom-left-radius: 0;
border-bottom-right-radius: 0;
padding: 0 2px;
}
.editor-files button svg {
vertical-align: unset;
}
.editor-filename {
padding: 0 4px;
}
.editor-files > button.selected {
color: black;
background-color: var(--colors-bg);
border-color: var(--border-color);
position: relative;
cursor: text;
}
.editor-files > button.selected::after {
content: "";
width: 100%;
height: 4px;
background-color: var(--colors-bg);
position: absolute;
bottom: -3px;
left: 0;
border-bottom-color: var(--colors-bg);
}
.editor-files > button.selected > input {
width: 100%;
font-size: 14px;
font-family: var(--font-face);
height: 26px;
position: absolute;
left: 4px;
bottom: -0.5px;
outline: none;
border: none;
color: var(--colors-blue);
background-color: transparent;
}
.editor-files > button.selected > input.invalid-filename {
color: var(--colors-red);
}
.editor-files > button > .editor-closebutton {
width: 1.2rem;
display: inline-block;
color: var(--button-gray-color);
font-weight: bold;
}
.editor-files > button.selected > .editor-closebutton + input {
width: calc(100% - 21px);
}
.editor-files > .editor-addtab {
border-color: rgba(0, 0, 0, 0);
display: inline-block;
line-height: 1rem;
margin-left: 0.5rem;
padding: 0;
}
.editor-files .editor-addbutton,
.editor-files .editor-uploadbutton {
display: inline-block;
color: var(--button-gray-color);
fill: var(--button-gray-color);
background-color: inherit;
font-size: 1.2rem;
font-weight: bold;
padding: 0 0.3rem;
}
.editor-files .editor-uploadbutton {
font-size: 0.7rem;
}
.editor-files .editor-closebutton:hover,
.editor-files .editor-addbutton:hover,
.editor-files .editor-uploadbutton:hover {
color: var(--button-hover-color);
fill: var(--button-hover-color);
cursor: pointer;
}
.editor-container {
padding: var(--pad);
position: relative;
}
.editor-container .cm-editor {
height: 100%;
}
.editor-container .cm-editor.cm-focused {
outline: none;
}
.editor-container .cm-editor .cm-scroller {
font-family: var(--font-mono-face);
font-size: var(--font-mono-size);
}
.editor-container .cm-gutters {
color: #aaa;
background-color: var(--colors-bg);
border-right: 1px solid #eee;
padding-right: 4px;
}
.editor-container .cm-activeLineGutter {
background-color: var(--colors-bg);
}
.editor-container .cm-tooltip {
font-family: var(--font-face);
font-size: var(--font-size);
}
.editor-container .cm-tooltip code {
font-family: var(--font-mono-face);
font-size: var(--font-mono-size);
white-space: pre-wrap;
}
.editor-container .cm-diagnostic {
font-family: var(--font-mono-face);
font-size: var(--font-mono-size);
}
.editor-container .cm-signature-signature {
font-family: var(--font-mono-face);
}
.editor-container .docstring {
padding: 3px 6px;
max-width: 650px;
max-height: 300px;
overflow-y: auto;
}
.editor-container .docstring pre {
white-space: pre-wrap;
}
.editor-container .docstring h2 {
font-size: 1.2em;
font-weight: 600;
}
.shinylive-editor button.code-run-button {
border: none;
font-size: 0.8rem;
padding: 0.2rem 0.5rem;
background-color: transparent;
white-space: nowrap;
}
.shinylive-editor .code-run-button:hover {
color: var(--button-hover-color);
fill: var(--button-hover-color);
}
.editor-header .code-run-button {
align-self: center;
color: var(--button-gray-color);
fill: var(--button-gray-color);
}
.shinylive-editor .floating-buttons .code-run-button {
position: absolute;
top: 0;
right: 0;
border: 0;
margin-top: 5px;
margin-right: 5px;
opacity: 0;
}
.shinylive-editor:hover .floating-buttons .code-run-button {
color: var(--button-gray-color);
fill: var(--button-gray-color);
opacity: 1;
}
.shinylive-editor .floating-buttons .code-run-button:hover {
color: var(--button-hover-color);
fill: var(--button-hover-color);
}
/* src/Components/Icons.css */
.shinylive-icon {
display: inline-block;
height: 1em;
}
/* src/Components/ShareModal.css */
.ShareModal {
position: absolute;
top: 50px;
left: 50px;
width: 600px;
font-family: var(--font-face);
background: white;
border: 1px solid #ccc;
border-radius: 5px;
padding: 8px 14px;
transition: 0.4s ease-out;
box-shadow: 0.5rem 0.5rem 2rem rgb(0 0 0 / 30%);
z-index: 10;
}
.ShareModal .ShareModal--item {
padding-bottom: 10px;
}
.ShareModal .ShareModal--item .ShareModal--checkbox {
margin-left: 1em;
font-size: 0.9em;
}
.ShareModal .ShareModal--row {
display: flex;
}
.ShareModal .ShareModal--row label {
display: flex;
align-items: center;
}
.ShareModal .ShareModal--row label span {
margin-left: 0.3em;
}
.ShareModal .ShareModal--row .ShareModal--url {
display: inline-flex;
position: relative;
vertical-align: top;
width: 100%;
}
.ShareModal .ShareModal--row .ShareModal--url .ShareModal--urlinput {
font-family: var(--font-mono-face);
font-size: var(--font-mono-size);
width: 100%;
margin-right: 12px;
}
.ShareModal-overlay {
opacity: 0.5;
background: #000;
width: 100%;
height: 100%;
z-index: 9;
top: 0;
left: 0;
position: fixed;
}

39333
docs/shinylive/Editor.js Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,43 @@
// Shinylive 0.2.3
// Copyright 2023 RStudio, PBC
// src/utils.ts
function dirname(path) {
if (path === "/" || path === "") {
return "";
}
return path.replace(/[/]?[^/]+[/]?$/, "");
}
function currentScriptPath() {
return new URL(import.meta.url).pathname;
}
function currentScriptDir() {
return dirname(currentScriptPath());
}
// src/load-shinylive-sw.ts
var localhostNames = ["localhost", "127.0.0.1", "[::1]"];
if (window.location.protocol !== "https:" && !localhostNames.includes(window.location.hostname)) {
const errorMessage = "Shinylive uses a Service Worker, which requires either a connection to localhost, or a connection via https.";
document.body.innerText = errorMessage;
throw Error(errorMessage);
}
var serviceWorkerDir;
var shinyliveMetaTag = document.querySelector(
'meta[name="shinylive:serviceworker_dir"]'
);
if (shinyliveMetaTag !== null) {
serviceWorkerDir = shinyliveMetaTag.content;
} else {
serviceWorkerDir = dirname(currentScriptDir());
}
serviceWorkerDir = serviceWorkerDir.replace(/\/$/, "");
var serviceWorkerPath = serviceWorkerDir + "/shinylive-sw.js";
if ("serviceWorker" in navigator) {
navigator.serviceWorker.register(serviceWorkerPath, { type: "module" }).then(() => console.log("Service Worker registered")).catch(() => console.log("Service Worker registration failed"));
navigator.serviceWorker.ready.then(() => {
if (!navigator.serviceWorker.controller) {
window.location.reload();
}
});
}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

1232
docs/shinylive/shinylive.css Normal file

File diff suppressed because it is too large Load diff

35518
docs/shinylive/shinylive.js Normal file

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,71 @@
/* Taken from https://www.joshwcomeau.com/css/custom-css-reset/ */
/*
1. Use a more-intuitive box-sizing model.
*/
*,
*::before,
*::after {
box-sizing: border-box;
}
/*
2. Remove default margin
*/
* {
margin: 0;
}
/*
3. Allow percentage-based heights in the application
*/
html,
body {
height: 100%;
}
/*
Typographic tweaks!
4. Add accessible line-height
5. Improve text rendering
*/
body {
line-height: 1.5;
-webkit-font-smoothing: antialiased;
}
/*
6. Improve media defaults
*/
img,
picture,
video,
canvas,
svg {
display: block;
max-width: 100%;
}
/*
7. Remove built-in form typography styles
*/
input,
button,
textarea,
select {
font: inherit;
}
/*
8. Avoid text overflows
*/
p,
h1,
h2,
h3,
h4,
h5,
h6 {
overflow-wrap: break-word;
}
/*
9. Create a root stacking context
*/
#root,
#__next {
isolation: isolate;
}

28209
docs/shinylive/webr/R.bin.data Normal file

File diff suppressed because one or more lines are too long

1846
docs/shinylive/webr/R.bin.js Normal file

File diff suppressed because one or more lines are too long

BIN
docs/shinylive/webr/R.bin.wasm Executable file

Binary file not shown.

1
docs/shinylive/webr/esbuild.d.ts vendored Normal file
View file

@ -0,0 +1 @@
export {};

BIN
docs/shinylive/webr/libRblas.so Executable file

Binary file not shown.

BIN
docs/shinylive/webr/libRlapack.so Executable file

Binary file not shown.

15
docs/shinylive/webr/repl/App.d.ts vendored Normal file
View file

@ -0,0 +1,15 @@
import { Readline } from 'xterm-readline';
import './App.css';
export interface TerminalInterface {
println: Readline['println'];
read: Readline['read'];
write: Readline['write'];
}
export interface FilesInterface {
refreshFilesystem: () => Promise<void>;
openFileInEditor: (name: string, path: string, readOnly: boolean) => Promise<void>;
}
export interface PlotInterface {
newPlot: () => void;
drawImage: (img: ImageBitmap) => void;
}

View file

@ -0,0 +1,26 @@
import React from 'react';
import { WebR } from '../../webR/webr-main';
import { EditorState } from '@codemirror/state';
import { FilesInterface, TerminalInterface } from '../App';
import './Editor.css';
export type EditorFile = {
name: string;
path: string;
ref: {
editorState: EditorState;
scrollTop?: number;
scrollLeft?: number;
};
};
export declare function FileTabs({ files, activeFileIdx, setActiveFileIdx, closeFile }: {
files: EditorFile[];
activeFileIdx: number;
setActiveFileIdx: React.Dispatch<React.SetStateAction<number>>;
closeFile: (e: React.SyntheticEvent, index: number) => void;
}): React.JSX.Element;
export declare function Editor({ webR, terminalInterface, filesInterface, }: {
webR: WebR;
terminalInterface: TerminalInterface;
filesInterface: FilesInterface;
}): React.JSX.Element;
export default Editor;

View file

@ -0,0 +1,19 @@
import React from 'react';
import { WebR } from '../../webR/webr-main';
import type { FSNode } from '../../webR/webr-main';
import { FilesInterface } from '../App';
import './Files.css';
interface ITreeNode {
id: number;
name: string;
children?: ITreeNode[];
metadata?: {
[x: string]: string | number | null | undefined;
};
}
export declare function createTreeFromFSNode(fsNode: FSNode): ITreeNode;
export declare function Files({ webR, filesInterface, }: {
webR: WebR;
filesInterface: FilesInterface;
}): React.JSX.Element;
export default Files;

View file

@ -0,0 +1,7 @@
import React from 'react';
import './Plot.css';
import { PlotInterface } from '../App';
export declare function Plot({ plotInterface, }: {
plotInterface: PlotInterface;
}): React.JSX.Element;
export default Plot;

View file

@ -0,0 +1,9 @@
import React from 'react';
import { TerminalInterface } from '../App';
import { WebR } from '../../webR/webr-main';
import 'xterm/css/xterm.css';
export declare function Terminal({ webR, terminalInterface, }: {
webR: WebR;
terminalInterface: TerminalInterface;
}): React.JSX.Element;
export default Terminal;

View file

@ -0,0 +1,11 @@
import { Text } from '@codemirror/state';
import { EditorView } from '@codemirror/view';
export type CursorPosition = {
line: number;
col: number;
};
export declare function offsetToPosition(cmDoc: Text, offset: number): CursorPosition;
export declare function positionToOffset(cmDoc: Text, pos: CursorPosition): number;
export declare function getSelectedText(cmView: EditorView): string;
export declare function getCurrentLineText(cmView: EditorView): string;
export declare function moveCursorToNextLine(cmView: EditorView): void;

View file

@ -0,0 +1 @@
export {};

View file

@ -0,0 +1 @@
export {};

View file

@ -0,0 +1 @@
export {};

View file

@ -0,0 +1 @@
export {};

View file

@ -0,0 +1 @@
export {};

View file

@ -0,0 +1 @@
export {};

View file

@ -0,0 +1 @@
export {};

View file

@ -0,0 +1 @@
export {};

View file

@ -0,0 +1 @@
export {};

View file

@ -0,0 +1 @@
export {};

View file

@ -0,0 +1,42 @@
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<dir>/usr/share/fonts</dir>
<dir>/home/web_user/fonts</dir>
<cachedir>/var/cache/fontconfig</cachedir>
<alias>
<family>Helvetica</family>
<prefer><family>sans-serif</family></prefer>
</alias>
<alias>
<family>Times</family>
<prefer><family>serif</family></prefer>
</alias>
<alias>
<family>Courier</family>
<prefer><family>monospace</family></prefer>
</alias>
<alias>
<family>sans</family>
<prefer><family>sans-serif</family></prefer>
</alias>
<alias>
<family>mono</family>
<prefer><family>monospace</family></prefer>
</alias>
<alias>
<family>sans-serif</family>
<prefer><family>Noto Sans</family></prefer>
</alias>
<alias>
<family>serif</family>
<prefer><family>Noto Serif</family></prefer>
</alias>
<alias>
<family>monospace</family>
<prefer><family>Noto Sans Mono</family></prefer>
</alias>
</fontconfig>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,376 @@
##================================================================##
### In longer simulations, aka computer experiments, ###
### you may want to ###
### 1) catch all errors and warnings (and continue) ###
### 2) store the error or warning messages ###
### ###
### Here's a solution (see R-help mailing list, Dec 9, 2010): ###
##================================================================##
##' Catch *and* save both errors and warnings, and in the case of
##' a warning, also keep the computed result.
##'
##' @title tryCatch both warnings (with value) and errors
##' @param expr an \R expression to evaluate
##' @return a list with 'value' and 'warning', where
##' 'value' may be an error caught.
##' @author Martin Maechler;
##' Copyright (C) 2010-2023 The R Core Team
tryCatch.W.E <- function(expr)
{
W <- NULL
w.handler <- function(w) { # warning handler
W <<- w
invokeRestart("muffleWarning")
}
list(value = withCallingHandlers(tryCatch(expr, error = function(e) e),
warning = w.handler),
warning = W)
}
str( tryCatch.W.E( log( 2 ) ) )
str( tryCatch.W.E( log( -1) ) )
str( tryCatch.W.E( log("a") ) )
##' @title Catch *all* warnings and the value
##' @param expr an \R expression to evaluate
##' @return a list with 'value' and 'warnings'
##' @author Luke Tierney (2004), R-help post
##' https://stat.ethz.ch/pipermail/r-help/2004-June/052132.html
withWarnings <- function(expr) {
W <- NULL
wHandler <- function(w) {
W <<- c(W, list(w))
invokeRestart("muffleWarning")
}
val <- withCallingHandlers(expr, warning = wHandler)
list(value = val, warnings = W)
}
withWarnings({ warning("first"); warning("2nd"); pi })
r <- withWarnings({ log(-1) + sqrt(-4); exp(1) })
str(r, digits=14)
##' @title tryCatch *all* warnings and messages, and an error or the final value
##' @param expr an \R expression to evaluate
##' @return a list with `messages`, `warnings`, and
##' `value` which may be an error caught.
##' @author Martin Maechler (combining the above)
tryCatch_WEMs <- function(expr)
{
W <- M <- NULL
w.handler <- function(w) { # warning handler
W <<- c(W, list(w)); invokeRestart("muffleWarning")
}
m.handler <- function(m) { # message handler
M <<- c(M, list(m)); invokeRestart("muffleMessage")
}
list(value = withCallingHandlers(tryCatch(expr, error = function(e) e),
warning = w.handler, message = m.handler),
messages = M,
warnings = W)
}
f3 <- function(x) {
r <- log(-x) + sqrt(-x) # produce warnings when x >= 0
if(anyNA(r)) message(sprintf("%d NA's produced by log(.) + sqrt(.)", sum(is.na(r))))
r <- exp(-x)
if(any(ii <- is.infinite(r))) message(sprintf("Got +/- Inf from x[%s]", deparse(which(ii))))
r
}
str( r0 <- tryCatch_WEMs(f3("A")) ) # just an error from '-x'
stopifnot(exprs = {
inherits (r0$value, "error")
identical(r0$value$call, quote(-x))
sapply(r0[c("messages","warnings")], is.null)
})
(x <- c(-1:1, (-1:1)/0))
str( rI <- tryCatch_WEMs(f3(x) ))
stopifnot(exprs = {
identical(lengths(rI), c(value = length(x), messages = 2L, warnings = 2L))
rI$value[4] == Inf
all.equal(rI$value, exp(-x))
length(rI$messages) == 2; sapply(rI$messages, inherits, what="message")
length(rI$warnings) == 2; sapply(rI$warnings, inherits, what="warning")
})
# Copyright (C) 1997-2018 The R Core Team
### The Base package has a couple of non-functions:
##
## These may be in "base" when they exist; discount them here
## (see also 'dont.mind' in checkConflicts() inside library()) :
xtraBaseNms <- c("last.dump", "last.warning", ".Last.value",
".Random.seed", ".Traceback")
ls.base <- Filter(function(nm) is.na(match(nm, xtraBaseNms)),
ls("package:base", all=TRUE))
base.is.f <- sapply(ls.base, function(x) is.function(get(x)))
cat("\nNumber of all base objects:\t", length(ls.base),
"\nNumber of functions from these:\t", sum(base.is.f),
"\n\t starting with 'is.' :\t ",
sum(grepl("^is\\.", ls.base[base.is.f])), "\n", sep = "")
## R ver.| #{is*()}
## ------+---------
## 0.14 : 31
## 0.50 : 33
## 0.60 : 34
## 0.63 : 37
## 1.0.0 : 38
## 1.3.0 : 41
## 1.6.0 : 45
## 2.0.0 : 45
## 2.7.0 : 48
## 3.0.0 : 49
if(interactive()) {
nonDots <- function(nm) substr(nm, 1L, 1L) != "."
cat("Base non-functions not starting with \".\":\n")
Filter(nonDots, ls.base[!base.is.f])
}
## Do we have a method (probably)?
is.method <- function(fname) {
isFun <- function(name) (exists(name, mode="function") &&
is.na(match(name, c("is", "as"))))
np <- length(sp <- strsplit(fname, split = "\\.")[[1]])
if(np <= 1 )
FALSE
else
(isFun(paste(sp[1:(np-1)], collapse = '.')) ||
(np >= 3 &&
isFun(paste(sp[1:(np-2)], collapse = '.'))))
}
is.ALL <- function(obj, func.names = ls(pos=length(search())),
not.using = c("is.single", "is.real", "is.loaded",
"is.empty.model", "is.R", "is.element", "is.unsorted"),
true.only = FALSE, debug = FALSE)
{
## Purpose: show many 'attributes' of R object __obj__
## -------------------------------------------------------------------------
## Arguments: obj: any R object
## -------------------------------------------------------------------------
## Author: Martin Maechler, Date: 6 Dec 1996
is.fn <- func.names[substring(func.names,1,3) == "is."]
is.fn <- is.fn[substring(is.fn,1,7) != "is.na<-"]
use.fn <- is.fn[ is.na(match(is.fn, not.using))
& ! sapply(is.fn, is.method) ]
r <- if(true.only) character(0)
else structure(vector("list", length= length(use.fn)), names= use.fn)
for(f in use.fn) {
if(any(f == c("is.na", "is.finite"))) {
if(!is.list(obj) && !is.vector(obj) && !is.array(obj)) {
if(!true.only) r[[f]] <- NA
next
}
}
if(any(f == c("is.nan", "is.finite", "is.infinite"))) {
if(!is.atomic(obj)) {
if(!true.only) r[[f]] <- NA
next
}
}
if(debug) cat(f,"")
fn <- get(f)
rr <- if(is.primitive(fn) || length(formals(fn))>0) fn(obj) else fn()
if(!is.logical(rr)) cat("f=",f," --- rr is NOT logical = ",rr,"\n")
##if(1!=length(rr)) cat("f=",f," --- rr NOT of length 1; = ",rr,"\n")
if(true.only && length(rr)==1 && !is.na(rr) && rr) r <- c(r, f)
else if(!true.only) r[[f]] <- rr
}
if(debug)cat("\n")
if(is.list(r)) structure(r, class = "isList") else r
}
print.isList <- function(x, ..., verbose = getOption("verbose"))
{
## Purpose: print METHOD for `isList' objects
## ------------------------------------------------
## Author: Martin Maechler, Date: 12 Mar 1997
if(is.list(x)) {
if(verbose) cat("print.isList(): list case (length=",length(x),")\n")
nm <- format(names(x))
rr <- lapply(x, stats::symnum, na = "NA")
for(i in seq_along(x)) cat(nm[i],":",rr[[i]],"\n", ...)
} else NextMethod("print", ...)
}
is.ALL(NULL)
##fails: is.ALL(NULL, not.using = c("is.single", "is.loaded"))
is.ALL(NULL, true.only = TRUE)
all.equal(NULL, pairlist())
## list() != NULL == pairlist() :
is.ALL(list(), true.only = TRUE)
(pl <- is.ALL(pairlist(1, list(3,"A")), true.only = TRUE))
(ll <- is.ALL( list(1,pairlist(3,"A")), true.only = TRUE))
all.equal(pl[pl != "is.pairlist"],
ll[ll != "is.vector"])## TRUE
is.ALL(1:5)
is.ALL(array(1:24, 2:4))
is.ALL(1 + 3)
e13 <- expression(1 + 3)
is.ALL(e13)
is.ALL(substitute(expression(a + 3), list(a=1)), true.only = TRUE)
is.ALL(y ~ x) #--> NA for is.na & is.finite
is0 <- is.ALL(numeric(0))
is0.ok <- 1 == (lis0 <- sapply(is0, length))
is0[!is0.ok]
is0 <- unlist(is0)
is0
ispi <- unlist(is.ALL(pi))
all(ispi[is0.ok] == is0)
is.ALL(numeric(0), true=TRUE)
is.ALL(array(1,1:3), true=TRUE)
is.ALL(cbind(1:3), true=TRUE)
is.ALL(structure(1:7, names = paste("a",1:7,sep="")))
is.ALL(structure(1:7, names = paste("a",1:7,sep="")), true.only = TRUE)
x <- 1:20 ; y <- 5 + 6*x + rnorm(20)
lm.xy <- lm(y ~ x)
is.ALL(lm.xy)
is.ALL(structure(1:7, names = paste("a",1:7,sep="")))
is.ALL(structure(1:7, names = paste("a",1:7,sep="")), true.only = TRUE)
# Copyright (C) 1997-2005 The R Core Team
## Adaptive integration: Venables and Ripley pp. 105-110
## This is the basic integrator.
area <- function(f, a, b, ..., fa = f(a, ...), fb = f(b, ...), limit
= 10, eps = 1.e-5)
{
h <- b - a
d <- (a + b)/2
fd <- f(d, ...)
a1 <- ((fa + fb) * h)/2
a2 <- ((fa + 4 * fd + fb) * h)/6
if(abs(a1 - a2) < eps)
return(a2)
if(limit == 0) {
warning(paste("iteration limit reached near x = ",
d))
return(a2)
}
area(f, a, d, ..., fa = fa, fb = fd, limit = limit - 1,
eps = eps) + area(f, d, b, ..., fa = fd, fb =
fb, limit = limit - 1, eps = eps)
}
## The function to be integrated
fbeta <- function(x, alpha, beta)
{
x^(alpha - 1) * (1 - x)^(beta - 1)
}
## Compute the approximate integral, the exact integral and the error
b0 <- area(fbeta, 0, 1, alpha=3.5, beta=1.5)
b1 <- exp(lgamma(3.5) + lgamma(1.5) - lgamma(5))
c(b0, b1, b0-b1)
## Modify the function so that it records where it was evaluated
fbeta.tmp <- function (x, alpha, beta)
{
val <<- c(val, x)
x^(alpha - 1) * (1 - x)^(beta - 1)
}
## Recompute and plot the evaluation points.
val <- NULL
b0 <- area(fbeta.tmp, 0, 1, alpha=3.5, beta=1.5)
plot(val, fbeta(val, 3.5, 1.5), pch=0)
## Better programming style -- renaming the function will have no effect.
## The use of "Recall" as in V+R is VERY black magic. You can get the
## same effect transparently by supplying a wrapper function.
## This is the approved Abelson+Sussman method.
area <- function(f, a, b, ..., limit=10, eps=1e-5) {
area2 <- function(f, a, b, ..., fa = f(a, ...), fb = f(b, ...),
limit = limit, eps = eps) {
h <- b - a
d <- (a + b)/2
fd <- f(d, ...)
a1 <- ((fa + fb) * h)/2
a2 <- ((fa + 4 * fd + fb) * h)/6
if(abs(a1 - a2) < eps)
return(a2)
if(limit == 0) {
warning(paste("iteration limit reached near x =", d))
return(a2)
}
area2(f, a, d, ..., fa = fa, fb = fd, limit = limit - 1,
eps = eps) + area2(f, d, b, ..., fa = fd, fb =
fb, limit = limit - 1, eps = eps)
}
area2(f, a, b, ..., limit=limit, eps=eps)
}
## Here is a little example which shows a fundamental difference between
## R and S. It is a little example from Abelson and Sussman which models
## the way in which bank accounts work. It shows how R functions can
## encapsulate state information.
##
## When invoked, "open.account" defines and returns three functions
## in a list. Because the variable "total" exists in the environment
## where these functions are defined they have access to its value.
## This is even true when "open.account" has returned. The only way
## to access the value of "total" is through the accessor functions
## withdraw, deposit and balance. Separate accounts maintain their
## own balances.
##
## This is a very nifty way of creating "closures" and a little thought
## will show you that there are many ways of using this in statistics.
# Copyright (C) 1997-8 The R Core Team
open.account <- function(total) {
list(
deposit = function(amount) {
if(amount <= 0)
stop("Deposits must be positive!\n")
total <<- total + amount
cat(amount,"deposited. Your balance is", total, "\n\n")
},
withdraw = function(amount) {
if(amount > total)
stop("You don't have that much money!\n")
total <<- total - amount
cat(amount,"withdrawn. Your balance is", total, "\n\n")
},
balance = function() {
cat("Your balance is", total, "\n\n")
}
)
}
ross <- open.account(100)
robert <- open.account(200)
ross$withdraw(30)
ross$balance()
robert$balance()
ross$deposit(50)
ross$balance()
try(ross$withdraw(500)) # no way..

View file

@ -0,0 +1 @@
{"files":[{"filename":"/error.catching.R","start":0,"end":3367},{"filename":"/is.things.R","start":3367,"end":8165},{"filename":"/recursion.R","start":8165,"end":10280},{"filename":"/scoping.R","start":10280,"end":11840}],"remote_package_size":11840}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1 @@
{"files":[{"filename":"/AnIndex","start":0,"end":35462},{"filename":"/aliases.rds","start":35462,"end":48080},{"filename":"/base.rdb","start":48080,"end":2366742},{"filename":"/base.rdx","start":2366742,"end":2375985},{"filename":"/paths.rds","start":2375985,"end":2379177}],"remote_package_size":2379177}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1 @@
{"files":[{"filename":"/00Index.html","start":0,"end":151052},{"filename":"/R.css","start":151052,"end":152896}],"remote_package_size":152896}

View file

@ -0,0 +1 @@
{"files":[{"filename":"/AnIndex","start":0,"end":174},{"filename":"/aliases.rds","start":174,"end":377},{"filename":"/compiler.rdb","start":377,"end":9101},{"filename":"/compiler.rdx","start":9101,"end":9267},{"filename":"/paths.rds","start":9267,"end":9407}],"remote_package_size":9407}

View file

@ -0,0 +1,173 @@
<!DOCTYPE html>
<html>
<head><title>R: The R Compiler Package</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
<link rel="stylesheet" type="text/css" href="R.css" />
</head><body><div class="container">
<h1> The R Compiler Package
<img class="toplogo" src="../../../doc/html/Rlogo.svg" alt="[R logo]" />
</h1>
<hr/>
<div style="text-align: center;">
<a href="../../../doc/html/packages.html"><img class="arrow" src="../../../doc/html/left.jpg" alt="[Up]" /></a>
<a href="../../../doc/html/index.html"><img class="arrow" src="../../../doc/html/up.jpg" alt="[Top]" /></a>
</div><h2>Documentation for package &lsquo;compiler&rsquo; version 4.3.0</h2>
<ul><li><a href="../DESCRIPTION">DESCRIPTION file</a>.</li>
</ul>
<h2>Help Pages</h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="compile.html">cmpfile</a></td>
<td>Byte Code Compiler</td></tr>
<tr><td style="width: 25%;"><a href="compile.html">cmpfun</a></td>
<td>Byte Code Compiler</td></tr>
<tr><td style="width: 25%;"><a href="compile.html">compile</a></td>
<td>Byte Code Compiler</td></tr>
<tr><td style="width: 25%;"><a href="compile.html">compilePKGS</a></td>
<td>Byte Code Compiler</td></tr>
<tr><td style="width: 25%;"><a href="compile.html">disassemble</a></td>
<td>Byte Code Compiler</td></tr>
<tr><td style="width: 25%;"><a href="compile.html">enableJIT</a></td>
<td>Byte Code Compiler</td></tr>
<tr><td style="width: 25%;"><a href="compile.html">getCompilerOption</a></td>
<td>Byte Code Compiler</td></tr>
<tr><td style="width: 25%;"><a href="compile.html">loadcmp</a></td>
<td>Byte Code Compiler</td></tr>
<tr><td style="width: 25%;"><a href="compile.html">setCompilerOptions</a></td>
<td>Byte Code Compiler</td></tr>
</table>
</div></body></html>
@media screen {
.container {
padding-right: 10px;
padding-left: 10px;
margin-right: auto;
margin-left: auto;
max-width: 900px;
}
}
.rimage img { /* from knitr - for examples and demos */
width: 96%;
margin-left: 2%;
}
.katex { font-size: 1.1em; }
code {
color: inherit;
background: inherit;
}
body {
line-height: 1.4;
background: white;
color: black;
}
a:link {
background: white;
color: blue;
}
a:visited {
background: white;
color: rgb(50%, 0%, 50%);
}
h1 {
background: white;
color: rgb(55%, 55%, 55%);
font-family: monospace;
font-size: 1.4em; /* x-large; */
text-align: center;
}
h2 {
background: white;
color: rgb(40%, 40%, 40%);
font-family: monospace;
font-size: 1.2em; /* large; */
text-align: center;
}
h3 {
background: white;
color: rgb(40%, 40%, 40%);
font-family: monospace;
font-size: 1.2em; /* large; */
}
h4 {
background: white;
color: rgb(40%, 40%, 40%);
font-family: monospace;
font-style: italic;
font-size: 1.2em; /* large; */
}
h5 {
background: white;
color: rgb(40%, 40%, 40%);
font-family: monospace;
}
h6 {
background: white;
color: rgb(40%, 40%, 40%);
font-family: monospace;
font-style: italic;
}
img.toplogo {
width: 4em;
vertical-align: middle;
}
img.arrow {
width: 30px;
height: 30px;
border: 0;
}
span.acronym {
font-size: small;
}
span.env {
font-family: monospace;
}
span.file {
font-family: monospace;
}
span.option{
font-family: monospace;
}
span.pkg {
font-weight: bold;
}
span.samp{
font-family: monospace;
}
div.vignettes a:hover {
background: rgb(85%, 85%, 85%);
}
tr {
vertical-align: top;
}
span.rlang {
font-family: Courier New, Courier;
color: #666666;
}

View file

@ -0,0 +1 @@
{"files":[{"filename":"/00Index.html","start":0,"end":1857},{"filename":"/R.css","start":1857,"end":3701}],"remote_package_size":3701}

View file

@ -0,0 +1,845 @@
##
## Assignment tests
##
library(compiler)
## Local assignment
### symbol
x <- 1
eval(compile(quote(x <- 2)))
stopifnot(x == 2)
### closure
`f<-` <- function(x, i, value) { x[i] <- value; x }
x <- 1
eval(compile(quote(f(x, 1) <- 2)))
stopifnot(x == 2)
### SPECIAL
`f<-` <- `[<-`
x <- 1
eval(compile(quote(f(x, 1) <- 2)))
stopifnot(x == 2)
### BUILTIN
`f<-` <- `names<-`
x <- 1
eval(compile(quote(f(x) <- "foo")))
stopifnot(identical(x, structure(1, names = "foo")))
## Super assignment
### symbol
x <- 1
eval(compile(quote((function() x <<- 2)())))
stopifnot(x == 2)
### closure
`f<-` <- function(x, i, value) { x[i] <- value; x }
x <- 1
eval(compile(quote((function() f(x, 1) <<- 2)())))
stopifnot(x == 2)
### SPECIAL
`f<-` <- `[<-`
x <- 1
eval(compile(quote((function() f(x, 1) <<- 2)())))
stopifnot(x == 2)
### BUILTIN
`f<-` <- `names<-`
x <- 1
eval(compile(quote((function() f(x) <<- "foo")())))
stopifnot(identical(x, structure(1, names = "foo")))
## Dollargets
### Default
x <- list(a = 1)
eval(compile(quote(x$a <- 2)))
stopifnot(identical(x, list(a = 2)))
### Dispatch
x <- structure(list(a = 1), class = "foo")
y <- NULL
`$<-.foo` <- function(x, tag, value) { y <<- list(tag, value); x }
eval(compile(quote(x$a <- 2)))
stopifnot(identical(y, list("a", 2)))
## Subassign
### Default
x <- 1
eval(compile(quote(x[1] <- 2)))
stopifnot(identical(x, 2))
### Dispatching
x <- structure(list(NULL), class = "foo")
y <- NULL
`[<-.foo` <- function(x, k, value) { y <<- rep(value, k); x }
eval(compile(quote(x[2] <- 3)))
stopifnot(identical(y, rep(3, 2)))
#### Missing args
x <- c(1, 2, 3)
eval(compile(quote(x[] <- c(4, 5, 6))))
stopifnot(identical(x, c(4, 5, 6)))
### Named args
x <- structure(list(NULL), class = "foo")
y <- NULL
`[<-.foo` <- function(x, k, value) { y <<- names(sys.call()[-1]); x }
eval(compile(quote(x[k = 2] <- 3)))
stopifnot(identical(y, c("", "k", "value")))
## Subassign2
### Default
x <- list(NULL)
eval(compile(quote(x[[1]] <- list(1))))
stopifnot(identical(x, list(list(1))))
### Dispatching
x <- structure(list(), class = "foo")
y <- 1
`[[<-.foo` <- function(x, i, value) { y[i] <<- value; x }
eval(compile(quote(x[[1]] <- 3)))
stopifnot(identical(y, 3))
## Nested assignments
x <- list(a = list(b = 1))
eval(compile(quote(x$a$b <- 2)))
stopifnot(identical(x, list(a = list(b = 2))))
x <- list(1, list(2))
eval(compile(quote(x[[1]][] <- 2)))
eval(compile(quote(x[[2]][[1]] <- 3)))
stopifnot(identical(x, list(2, list(3))))
## checkAssign
checkAssign <- compiler:::checkAssign
cenv <- compiler:::makeCenv(.GlobalEnv)
cntxt <- compiler:::make.toplevelContext(cenv, list(suppressAll = TRUE))
stopifnot(identical(checkAssign(quote(x <- 1), cntxt), TRUE))
stopifnot(identical(checkAssign(quote("x" <- 1), cntxt), TRUE))
stopifnot(identical(checkAssign(quote(3 <- 1), cntxt), FALSE))
stopifnot(identical(checkAssign(quote(f(x) <- 1), cntxt), TRUE))
stopifnot(identical(checkAssign(quote((f())(x) <- 1), cntxt), FALSE))
stopifnot(identical(checkAssign(quote(f(g(x)) <- 1), cntxt), TRUE))
stopifnot(identical(checkAssign(quote(f(g("x")) <- 1), cntxt), FALSE))
## flattenPlace
flattenPlace <- compiler:::flattenPlace
stopifnot(identical(flattenPlace(quote(f(g(h(x, k), j), i)))$places,
list(quote(f(`*tmp*`, i)),
quote(g(`*tmp*`, j)),
quote(h(`*tmp*`, k)))))
stopifnot(identical(flattenPlace(quote(f(g(h(x, k), j), i)))$origplaces,
list(quote(f(g(h(x, k), j), i)),
quote(g(h(x, k), j)),
quote(h(x, k)))))
## getAssignFun
getAssignFun <- compiler:::getAssignFun
stopifnot(identical(getAssignFun(quote(f)), quote(`f<-`)))
stopifnot(identical(getAssignFun("f"), NULL))
stopifnot(identical(getAssignFun(quote(f(x))), NULL))
stopifnot(identical(getAssignFun(quote(base::diag)), quote(base::`diag<-`)))
stopifnot(identical(getAssignFun(quote(base:::diag)), quote(base:::`diag<-`)))
library(compiler)
options(keep.source=TRUE)
## very minimal
x <- 2
stopifnot(eval(compile(quote(x + 1))) == 3)
## simple code generation
checkCode <- function(expr, code, optimize = 2) {
v <- compile(expr, options = list(optimize = optimize))
d <- .Internal(disassemble(v))[[2]][-1]
dd <- as.integer(eval(substitute(code), getNamespace("compiler")))
identical(d, dd)
}
x <- 2
stopifnot(checkCode(quote(x + 1),
c(GETVAR.OP, 1L,
LDCONST.OP, 2L,
ADD.OP, 0L,
RETURN.OP)))
f <- function(x) x
checkCode(quote({f(1); f(2)}),
c(GETFUN.OP, 1L,
PUSHCONSTARG.OP, 3L,
CALL.OP, 4L,
POP.OP,
GETFUN.OP, 1L,
PUSHCONSTARG.OP, 6L,
CALL.OP, 7L,
RETURN.OP))
## names and ... args
f <- function(...) list(...)
stopifnot(identical(f(1, 2), cmpfun(f)(1, 2)))
f <- function(...) list(x = ...)
stopifnot(identical(f(1, 2), cmpfun(f)(1, 2)))
## substitute and argument constant folding
f <- function(x) substitute(x)
g <- function() f(1 + 2)
v1 <- g()
f <- cmpfun(f)
g <- cmpfun(g)
v2 <- g()
stopifnot(identical(v1, v2))
## simple loops
sr <- function(x) {
n <- length(x)
i <- 1
s <- 0
repeat {
if (i > n) break
s <- s + x[i]
i <- i + 1
}
s
}
sw <- function(x) {
n <- length(x)
i <- 1
s <- 0
while (i <= n) {
s <- s + x[i]
i <- i + 1
}
s
}
sf <- function(x) {
s <- 0
for (y in x)
s <- s + y
s
}
src <- cmpfun(sr)
swc <- cmpfun(sw)
sfc <- cmpfun(sf)
x <- 1 : 5
stopifnot(src(x) == sr(x))
stopifnot(swc(x) == sw(x))
stopifnot(sfc(x) == sf(x))
## Check that the handlers have been associated with the correct package
h <- ls(compiler:::inlineHandlers, all.names = TRUE)
p <- sub("package:", "", sapply(h, find))
pp <- sapply(h, function(n) get(n, compiler:::inlineHandlers)$package)
# stopifnot(identical(p, pp))
## Check assumption about simple .Internals
## These are .External calls now.
## stopifnot(all(sapply(compiler:::safeStatsInternals,
## function(f)
## compiler:::is.simpleInternal(get(f, "package:stats")))))
stopifnot(all(sapply(compiler:::safeBaseInternals,
function(f)
compiler:::is.simpleInternal(get(f, "package:base")))))
library(compiler)
##
## Test code for constant folding
##
makeCenv <- compiler:::makeCenv
checkConst <- compiler:::checkConst
constantFoldSym <- compiler:::constantFoldSym
constantFold <- compiler:::constantFold
## using a global environment
ce <- makeCenv(.GlobalEnv)
stopifnot(identical(constantFoldSym(quote(pi), list(env = ce, optimize = 3)),
checkConst(base::pi)))
stopifnot(identical(constantFoldSym(quote(pi), list(env = ce, optimize = 2)),
NULL))
stopifnot(identical(constantFoldSym(quote(pi), list(env = ce, optimize = 1)),
NULL))
stopifnot(identical(constantFoldSym(quote(pi), list(env = ce, optimize = 0)),
NULL))
stopifnot(identical(constantFold(quote(1 + 2), list(optimize = 3, env = ce)),
checkConst(1 + 2)))
stopifnot(identical(constantFold(quote(1 + 2), list(optimize = 2, env = ce)),
checkConst(1 + 2)))
stopifnot(identical(constantFold(quote(1 + 2), list(optimize = 1, env = ce)),
NULL))
stopifnot(identical(constantFold(quote(1 + 2), list(optimize = 0, env = ce)),
NULL))
stopifnot(identical(constantFold(quote(sqrt(2)), list(optimize = 3, env = ce)),
checkConst(sqrt(2))))
stopifnot(identical(constantFold(quote(sqrt(2)), list(optimize = 2, env = ce)),
NULL))
stopifnot(identical(constantFold(quote(sqrt(2)), list(optimize = 1, env = ce)),
NULL))
stopifnot(identical(constantFold(quote(sqrt(2)), list(optimize = 0, env = ce)),
NULL))
## using a namespace environment
ce <- makeCenv(getNamespace("stats"))
stopifnot(identical(constantFoldSym(quote(pi), list(env = ce, optimize = 3)),
list(value = base::pi)))
stopifnot(identical(constantFoldSym(quote(pi), list(env = ce, optimize = 2)),
list(value = base::pi)))
stopifnot(identical(constantFoldSym(quote(pi), list(env = ce, optimize = 1)),
checkConst(base::pi)))
stopifnot(identical(constantFoldSym(quote(pi), list(env = ce, optimize = 0)),
NULL))
stopifnot(identical(constantFold(quote(1 + 2), list(optimize = 3, env = ce)),
checkConst(1 + 2)))
stopifnot(identical(constantFold(quote(1 + 2), list(optimize = 2, env = ce)),
checkConst(1 + 2)))
stopifnot(identical(constantFold(quote(1 + 2), list(optimize = 1, env = ce)),
checkConst(1 + 2)))
stopifnot(identical(constantFold(quote(1 + 2), list(optimize = 0, env = ce)),
NULL))
stopifnot(identical(constantFold(quote(sqrt(2)), list(optimize = 3, env = ce)),
checkConst(sqrt(2))))
stopifnot(identical(constantFold(quote(sqrt(2)), list(optimize = 2, env = ce)),
checkConst(sqrt(2))))
stopifnot(identical(constantFold(quote(sqrt(2)), list(optimize = 1, env = ce)),
checkConst(sqrt(2))))
stopifnot(identical(constantFold(quote(sqrt(2)), list(optimize = 0, env = ce)),
NULL))
library(compiler)
# set to TRUE for debugging
only.print <- FALSE
testError <- function(expr, handler) {
err <- tryCatch(expr, error = handler)
stopifnot(identical(err, TRUE))
}
testWarning <- function(expr, handler) {
warn <- tryCatch(expr, warning = handler)
stopifnot(identical(warn, TRUE))
}
w <- function(expr, call = substitute(expr)) {
if (only.print)
testWarning(expr = expr, handler = function(e) {
cat("WARNING-MESSAGE: \"", e$message, "\"\nWARNING-CALL: ", deparse(e$call), "\n", sep="")
TRUE
})
else
testWarning(expr = expr, handler = function(e) {
stopifnot(identical(e$call, call))
TRUE
})
}
e <- function(expr, call = substitute(expr)) {
if (only.print)
testError(expr = expr, handler = function(e) {
cat("ERROR-MESSAGE: \"", e$message, "\"\nERROR-CALL: ", deparse(e$call), "\n", sep="")
TRUE
})
else
testError(expr = expr, handler = function(e) {
stopifnot(identical(e$call, call))
TRUE
})
}
f <- function(x = 1:2,
y = -1,
z = c(a=1, b=2, c=2, d=3),
u = list(inner = c(a=1,b=2,c=3,d=4)),
v = list(),
...) {
w(x[1:3] <- 11:12)
# quote(`[<-`(x, 1:3, value = 11:12))
w(min(...))
w(sqrt(y))
e(names(z[1:2]) <- c("X", "Y", "Z"))
# quote(`names<-`(z[1:2], value = c("X", "Y", "Z"))
e(names(z[c(-1,1)]) <- c("X", "Y", "Z"),
# quote(z[c(-1, 1)])) <=== this would be nice, but not possible at the moment
quote(`*tmp*`[c(-1, 1)]))
w(names(u$inner)[2:4] <- v[1:2] <- c("X", "Y", "Z", "U")[1:2])
# quote(`[<-`(names(u$inner), 2:4, value = v[1:2] <- c("X", "Y", "Z", "U")[1:2]))
##_ Not anymore, as stopifnot() massages its error/warning message:
##_ e(stopifnot(is.numeric(dummy)))
}
old=options()
oldoptimize <- getCompilerOption("optimize")
oldjit <- enableJIT(3)
for (opt in 2:3) {
setCompilerOptions(optimize=opt)
f()
}
## test that AST and compiler errors/warnings agree
enableJIT(0)
testexpr <- function(fun) {
resast <- tryCatch(fun(), error = function(e) e, warning = function(e) e)
cfun <- cmpfun(fun)
rescmp <- tryCatch(cfun(), error = function(e) e, warning = function(e) e)
show(resast)
show(rescmp)
stopifnot(identical(resast, rescmp))
}
testexpr(function() { dummy()$e })
testexpr(function() { beta(-1, NULL) })
testexpr(function() { inherits(1, log) })
enableJIT(oldjit)
setCompilerOptions(optimize = oldoptimize)
library(compiler)
##
## Tests for findHomeNS()
##
findHomeNS <- compiler:::findHomeNS
## return value for an undefinded variable should be NULL
stopifnot(is.null(findHomeNS("foo", getNamespace("stats"))))
stopifnot(is.null(findHomeNS("foo", parent.env(getNamespace("stats")))))
stopifnot(is.null(findHomeNS("foo", getNamespace("base"))))
## + is found in .BaseNamespaceEnv for stats or base
stopifnot(identical(findHomeNS("+", getNamespace("stats")),
.BaseNamespaceEnv))
stopifnot(identical(findHomeNS("+", parent.env(getNamespace("stats"))),
.BaseNamespaceEnv))
stopifnot(identical(findHomeNS("+", getNamespace("base")),
.BaseNamespaceEnv))
## dnorm is defined in stats
stopifnot(identical(findHomeNS("dnorm", getNamespace("stats")),
getNamespace("stats")))
stopifnot(identical(findHomeNS("dnorm", parent.env(getNamespace("stats"))),
getNamespace("stats")))
stopifnot(is.null(findHomeNS("dnorm", getNamespace("base"))))
## par is available via the stats namespace since stats imports graphics
stopifnot(identical(findHomeNS("par", getNamespace("stats")),
getNamespace("graphics")))
stopifnot(identical(findHomeNS("par", parent.env(getNamespace("stats"))),
getNamespace("graphics")))
stopifnot(is.null(findHomeNS("par", getNamespace("base"))))
## palette is one of a small set of selective imports from grDevices
stopifnot(identical(findHomeNS("palette", getNamespace("stats")),
getNamespace("grDevices")))
stopifnot(identical(findHomeNS("palette", parent.env(getNamespace("stats"))),
getNamespace("grDevices")))
stopifnot(is.null(findHomeNS("palette", getNamespace("base"))))
##
## Tests for getAssignedVar
##
getAssignedVar <- compiler:::getAssignedVar
stopifnot(identical(getAssignedVar(quote("v"<-x)), "v"))
stopifnot(identical(getAssignedVar(quote(v<-x)), "v"))
stopifnot(identical(getAssignedVar(quote(f(v)<-x)), "v"))
stopifnot(identical(getAssignedVar(quote(f(g(v,2),1)<-x)), "v"))
##
## Tests for findLocals
##
findLocals <- compiler:::findLocals
cenv <- compiler:::makeCenv(.GlobalEnv)
cntxt <- compiler:::make.toplevelContext(cenv, NULL)
stopifnot(identical(findLocals(quote(x<-1), cntxt), "x"))
stopifnot(identical(findLocals(quote(f(x)<-1), cntxt), "x"))
stopifnot(identical(findLocals(quote(f(g(x,2),1)<-1), cntxt), "x"))
stopifnot(identical(findLocals(quote(x<-y<-1), cntxt), c("x","y")))
stopifnot(identical(findLocals(quote(local(x<-1,e)), cntxt), "x"))
stopifnot(identical(findLocals(quote(local(x<-1)), cntxt), character(0)))
stopifnot(identical(findLocals(quote({local<-1;local(x<-1)}), cntxt),
c("local", "x")))
local({
f <- function (f, x, y) {
local <- f
local(x <- y)
x
}
stopifnot(identical(findLocals(body(f), cntxt), c("local","x")))
})
local({
cenv <- compiler:::addCenvVars(cenv, "local")
cntxt <- compiler:::make.toplevelContext(cenv, NULL)
stopifnot(identical(findLocals(quote(local(x<-1,e)), cntxt), "x"))
})
stopifnot(identical(findLocals(quote(assign(x, 3)), cntxt), character(0)))
stopifnot(identical(findLocals(quote(assign("x", 3)), cntxt), "x"))
stopifnot(identical(findLocals(quote(assign("x", 3, 4)), cntxt), character(0)))
library(compiler)
oldJIT <- enableJIT(3)
## need a test of level 1 to make sure functions are compiled
## need more tests here
repeat { break }
while(TRUE) break
for (i in 1:10) i
enableJIT(oldJIT)
library(compiler)
f <- function(x) x
g <- function(x) repeat if (x) f(return(1)) else return(2)
gc <- cmpfun(g)
stopifnot(identical(g(TRUE), gc(TRUE)))
stopifnot(identical(g(FALSE), gc(FALSE)))
h <- function(x) { repeat if (x) f(return(1)) else break; 2 }
hc <- cmpfun(h)
stopifnot(identical(h(TRUE), hc(TRUE)))
stopifnot(identical(h(FALSE), hc(FALSE)))
k <- function(x) { repeat if (x) return(1) else f(break); 2 }
kc <- cmpfun(k)
stopifnot(identical(k(TRUE), kc(TRUE)))
stopifnot(identical(k(FALSE), kc(FALSE)))
## **** need more variations on this.
## this would give an error prior to fixing a binding cache bug
f <- function(x) { for (y in x) { z <- y; g(break) } ; z }
g <- function(x) x
cmpfun(f)(c(1,2,3))
library(compiler)
# This tests tracking of source file references
options(keep.source=TRUE)
ln <- function() attr(sys.call(), "srcref")[1]
# NOTE: the block below is sensitive to formatting (newlines)
code <- quote({
start <- ln()
plus1 <- ln() # start + 1
stopifnot(identical(plus1, start+1L))
{
plus4 <- ln() # start + 4
}
stopifnot(identical(plus4, start+4L))
plus9 <- 0
f <- function() {
plus9 <<- ln() # start + 9
}
f()
stopifnot(identical(plus9, start+9L))
g <- function(x = ln()) x # start + 13
plus13 <- g()
stopifnot(identical(plus13, start+13L))
plus16 <- g(ln()) # start + 16
stopifnot(identical(plus16, start+13L) || identical(plus16, start+16L)) ### NOTE: see compatibility note below
for(i in 1) plus18 <- ln() # start + 18
stopifnot(identical(plus18, start+18L))
for(i in 1) { plus20 <- ln() } # start + 20
stopifnot(identical(plus20, start+20L))
for(i in 1) {
plus23 <- ln() # start + 23
}
stopifnot(identical(plus23, start+23L))
ff <- function() for(i in 1) return(ln()) # start + 26
plus26 <- ff()
stopifnot(identical(plus26, start+26L))
ff1 <- function() {
for(i in 1) return(ln()) # start + 30
}
plus30 <- ff1()
stopifnot(identical(plus30, start+30L))
})
## Compatibility note
##
## in the example above, "plus16" with the AST interpreter gets line number
## start+13, but with the compiler, it gets start+16. The latter seems to
## be more correct, as line start+16 is where the spelling of "ln()" is.
oldoptimize <- getCompilerOption("optimize")
oldjit <- enableJIT(0)
l <- function() 1
body(l) <- code
for(jit in 0:2) {
enableJIT(jit)
for (opt in 0:3) {
if (opt >=2 || jit <=2) {
setCompilerOptions(optimize=opt)
eval(code)
eval(compile(code))
body(l) <- code
l()
body(l) <- code
cmpfun(l)()
local(eval(code))
do.call("local", list(code))
}
}
}
setCompilerOptions(optimize = oldoptimize)
enableJIT(oldjit)
library(compiler)
ev <- function(expr)
tryCatch(withVisible(eval(expr, parent.frame(), baseenv())),
error = function(e) conditionMessage(e))
f <- function(x) switch(x, x = 1, y = , z = 3, , w =, 6, v = )
fc <- cmpfun(f)
stopifnot(identical(ev(quote(fc("x"))), ev(quote(f("x")))))
stopifnot(identical(ev(quote(fc("A"))), ev(quote(f("A")))))
stopifnot(identical(ev(quote(fc(0))), ev(quote(f(0)))))
stopifnot(identical(ev(quote(fc(1))), ev(quote(f(1)))))
stopifnot(identical(ev(quote(fc(2))), ev(quote(f(2)))))
stopifnot(identical(ev(quote(fc(3))), ev(quote(f(3)))))
stopifnot(identical(ev(quote(fc(4))), ev(quote(f(4)))))
stopifnot(identical(ev(quote(fc(5))), ev(quote(f(5)))))
stopifnot(identical(ev(quote(fc(6))), ev(quote(f(6)))))
stopifnot(identical(ev(quote(fc(7))), ev(quote(f(7)))))
stopifnot(identical(ev(quote(fc(8))), ev(quote(f(8)))))
g <- function(x) switch(x, x = 1, y = , z = 3, w =, 5, v = )
gc <- cmpfun(g)
stopifnot(identical(ev(quote(gc("x"))), ev(quote(g("x")))))
stopifnot(identical(ev(quote(gc("y"))), ev(quote(g("y")))))
stopifnot(identical(ev(quote(gc("z"))), ev(quote(g("z")))))
stopifnot(identical(ev(quote(gc("w"))), ev(quote(g("w")))))
stopifnot(identical(ev(quote(gc("v"))), ev(quote(g("v")))))
stopifnot(identical(ev(quote(gc("A"))), ev(quote(g("A")))))
stopifnot(identical(ev(quote(gc(0))), ev(quote(g(0)))))
stopifnot(identical(ev(quote(gc(1))), ev(quote(g(1)))))
stopifnot(identical(ev(quote(gc(2))), ev(quote(g(2)))))
stopifnot(identical(ev(quote(gc(3))), ev(quote(g(3)))))
stopifnot(identical(ev(quote(gc(4))), ev(quote(g(4)))))
stopifnot(identical(ev(quote(gc(5))), ev(quote(g(5)))))
stopifnot(identical(ev(quote(gc(6))), ev(quote(g(6)))))
stopifnot(identical(ev(quote(gc(7))), ev(quote(g(7)))))
h <- function(x) switch(x, x = 1, y = , z = 3)
hc <- cmpfun(h)
stopifnot(identical(ev(quote(hc("x"))), ev(quote(h("x")))))
stopifnot(identical(ev(quote(hc("y"))), ev(quote(h("y")))))
stopifnot(identical(ev(quote(hc("z"))), ev(quote(h("z")))))
stopifnot(identical(ev(quote(hc("A"))), ev(quote(h("A")))))
stopifnot(identical(ev(quote(hc(0))), ev(quote(h(0)))))
stopifnot(identical(ev(quote(hc(1))), ev(quote(h(1)))))
stopifnot(identical(ev(quote(hc(2))), ev(quote(h(2)))))
stopifnot(identical(ev(quote(hc(3))), ev(quote(h(3)))))
stopifnot(identical(ev(quote(hc(4))), ev(quote(h(4)))))
k <- function(x) switch(x, x = 1, y = 2, z = 3)
kc <- cmpfun(k)
stopifnot(identical(ev(quote(kc("x"))), ev(quote(k("x")))))
stopifnot(identical(ev(quote(kc("y"))), ev(quote(k("y")))))
stopifnot(identical(ev(quote(kc("z"))), ev(quote(k("z")))))
stopifnot(identical(ev(quote(kc("A"))), ev(quote(k("A")))))
stopifnot(identical(ev(quote(kc(0))), ev(quote(k(0)))))
stopifnot(identical(ev(quote(kc(1))), ev(quote(k(1)))))
stopifnot(identical(ev(quote(kc(2))), ev(quote(k(2)))))
stopifnot(identical(ev(quote(kc(3))), ev(quote(k(3)))))
stopifnot(identical(ev(quote(kc(4))), ev(quote(k(4)))))
l <- function(x) switch(x, "a", "b", "c")
lc <- cmpfun(l)
ce <- function(expr) tryCatch(expr, error = function(e) "Error")
## both of these should raise errors but the messages will differ
stopifnot(identical(ce(lc("A")), ce(l("A"))))
stopifnot(identical(ev(quote(lc(0))), ev(quote(l(0)))))
stopifnot(identical(ev(quote(lc(1))), ev(quote(l(1)))))
stopifnot(identical(ev(quote(lc(2))), ev(quote(l(2)))))
stopifnot(identical(ev(quote(lc(3))), ev(quote(l(3)))))
stopifnot(identical(ev(quote(lc(4))), ev(quote(l(4)))))
l <- function(x) switch(x)
lc <- cmpfun(l)
cw <- function(expr) tryCatch(expr, warning = function(w) w)
stopifnot(identical(cw(l(1)), cw(lc(1))))
stopifnot(identical(cw(l("A")), cw(lc("A"))))
suppressWarnings(stopifnot(identical(withVisible(l(1)),
withVisible(lc(1)))))
suppressWarnings(stopifnot(identical(withVisible(l("A")),
withVisible(lc("A")))))
## Check that R_Visible is being set properly.
library(compiler)
vcheck <- function(expr)
stopifnot(withVisible(eval(compile(substitute(expr))))$visible)
asfoo <- function(x) structure(x, class = "foo")
xfoo <- asfoo(1)
## FastMath1
vcheck(sqrt(invisible(2)))
vcheck(exp(invisible(2)))
vcheck(sqrt(invisible(2L)))
vcheck(exp(invisible(2L)))
vcheck(sqrt(invisible(xfoo)))
vcheck(exp(invisible(xfoo)))
## FastUnary
vcheck(+ invisible(2))
vcheck(- invisible(2))
vcheck(+ invisible(2L))
vcheck(- invisible(2L))
vcheck(+ invisible(xfoo))
vcheck(- invisible(xfoo))
## FastBinary
vcheck(1 + invisible(2))
vcheck(1 - invisible(2))
vcheck(3 * invisible(2))
vcheck(1 / invisible(2))
vcheck(3 ^ invisible(2))
vcheck(1 + invisible(2L))
vcheck(1L + invisible(2))
vcheck(1 + invisible(xfoo))
## FastRelop2
vcheck(1 == invisible(2))
vcheck(1 != invisible(2))
vcheck(1 < invisible(2))
vcheck(1 <= invisible(2))
vcheck(1 >= invisible(2))
vcheck(1 > invisible(2))
vcheck(1 > invisible(2L))
vcheck(1L > invisible(2L))
vcheck(1 > invisible(xfoo))
## Builtin2
vcheck(1 & invisible(2))
vcheck(0 | invisible(2))
vcheck(0 | invisible(2L))
vcheck(0L | invisible(2L))
vcheck(0 | invisible(xfoo))
## Builtin1
vcheck(! invisible(2))
vcheck(! invisible(2L))
vcheck(! invisible(xfoo))
## DO_VECSUBSET
vcheck(1[invisible(1)])
vcheck(xfoo[invisible(1)])
## MATSUBSET_PTR
vcheck(matrix(1)[1, invisible(1)])
vcheck(asfoo(matrix(1))[1, invisible(1)])
## SUBSET_N_PTR
vcheck(array(1, c(1, 1, 1))[1, 1, invisible(1)])
vcheck(asfoo(array(1, c(1, 1, 1)))[1, 1, invisible(1)])
## DO_DFLTDISPATCH
vcheck(invisible(1)[])
vcheck(matrix(1)[,invisible(1)])
## not sure how to trigger [[ issue
vcheck(c(invisible(2)))
vcheck(xfoo[])
## DOLLAR
vcheck(invisible(list(x = 1))$x)
`$.foo` <- function(x, y) invisible(x)
vcheck(xfoo$bar)
## ISINTEGER
vcheck(is.integer(invisible(1)))
vcheck(is.integer(invisible(xfoo)))
## DO_ISTYPE
vcheck(is.logical(invisible(1)))
vcheck(is.double(invisible(1)))
vcheck(is.complex(invisible(1)))
vcheck(is.character(invisible(1)))
vcheck(is.symbol(invisible(1)))
## DO_ISTEST
vcheck(is.null(invisible(1)))
vcheck(is.object(invisible(1)))
vcheck(is.numeric(invisible(1)))
## &&, ||
vcheck(invisible(TRUE) || FALSE)
vcheck(FALSE || invisible(FALSE))
vcheck(invisible(FALSE) && FALSE)
vcheck(TRUE && invisible(TRUE))
## LOG, LOGBASE, MATH1
vcheck(log(invisible(2)))
vcheck(log(2, invisible(2)))
vcheck(log(invisible(xfoo)))
vcheck(log(xfoo, invisible(2)))
vcheck(sin(invisible(2)))
vcheck(cos(invisible(2)))
## DOTCALL
## COLON, SEQLEN, SEQALONG
vcheck(1 : invisible(2))
vcheck(1 : invisible(xfoo))
vcheck(seq_len(invisible(2)))
vcheck(seq_len(invisible(xfoo)))
vcheck(seq_along(invisible(1)))
vcheck(seq_along(invisible(xfoo)))

View file

@ -0,0 +1 @@
{"files":[{"filename":"/assign.R","start":0,"end":3965},{"filename":"/basics.R","start":3965,"end":6379},{"filename":"/const.R","start":6379,"end":9453},{"filename":"/curexpr.R","start":9453,"end":12013},{"filename":"/envir.R","start":12013,"end":15343},{"filename":"/jit.R","start":15343,"end":15549},{"filename":"/loop.R","start":15549,"end":16270},{"filename":"/srcref.R","start":16270,"end":18556},{"filename":"/switch.R","start":18556,"end":22434},{"filename":"/vischk.R","start":22434,"end":25167}],"remote_package_size":25167}

View file

@ -0,0 +1 @@
{"files":[{"filename":"/AnIndex","start":0,"end":2036},{"filename":"/aliases.rds","start":2036,"end":2957},{"filename":"/datasets.rdb","start":2957,"end":211881},{"filename":"/datasets.rdx","start":211881,"end":213925},{"filename":"/paths.rds","start":213925,"end":214793}],"remote_package_size":214793}

View file

@ -0,0 +1,503 @@
<!DOCTYPE html>
<html>
<head><title>R: The R Datasets Package</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
<link rel="stylesheet" type="text/css" href="R.css" />
</head><body><div class="container">
<h1> The R Datasets Package
<img class="toplogo" src="../../../doc/html/Rlogo.svg" alt="[R logo]" />
</h1>
<hr/>
<div style="text-align: center;">
<a href="../../../doc/html/packages.html"><img class="arrow" src="../../../doc/html/left.jpg" alt="[Up]" /></a>
<a href="../../../doc/html/index.html"><img class="arrow" src="../../../doc/html/up.jpg" alt="[Top]" /></a>
</div><h2>Documentation for package &lsquo;datasets&rsquo; version 4.3.0</h2>
<ul><li><a href="../DESCRIPTION">DESCRIPTION file</a>.</li>
</ul>
<h2>Help Pages</h2>
<p style="text-align: center;">
<a href="# "> </a>
<a href="#A">A</a>
<a href="#B">B</a>
<a href="#C">C</a>
<a href="#D">D</a>
<a href="#E">E</a>
<a href="#F">F</a>
<a href="#H">H</a>
<a href="#I">I</a>
<a href="#J">J</a>
<a href="#L">L</a>
<a href="#M">M</a>
<a href="#N">N</a>
<a href="#O">O</a>
<a href="#P">P</a>
<a href="#Q">Q</a>
<a href="#R">R</a>
<a href="#S">S</a>
<a href="#T">T</a>
<a href="#U">U</a>
<a href="#V">V</a>
<a href="#W">W</a>
</p>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="datasets-package.html">datasets-package</a></td>
<td>The R Datasets Package</td></tr>
</table>
<h2><a id="A">-- A --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="ability.cov.html">ability.cov</a></td>
<td>Ability and Intelligence Tests</td></tr>
<tr><td style="width: 25%;"><a href="airmiles.html">airmiles</a></td>
<td>Passenger Miles on Commercial US Airlines, 1937-1960</td></tr>
<tr><td style="width: 25%;"><a href="AirPassengers.html">AirPassengers</a></td>
<td>Monthly Airline Passenger Numbers 1949-1960</td></tr>
<tr><td style="width: 25%;"><a href="airquality.html">airquality</a></td>
<td>New York Air Quality Measurements</td></tr>
<tr><td style="width: 25%;"><a href="anscombe.html">anscombe</a></td>
<td>Anscombe's Quartet of 'Identical' Simple Linear Regressions</td></tr>
<tr><td style="width: 25%;"><a href="attenu.html">attenu</a></td>
<td>The Joyner-Boore Attenuation Data</td></tr>
<tr><td style="width: 25%;"><a href="attitude.html">attitude</a></td>
<td>The Chatterjee-Price Attitude Data</td></tr>
<tr><td style="width: 25%;"><a href="austres.html">austres</a></td>
<td>Quarterly Time Series of the Number of Australian Residents</td></tr>
</table>
<h2><a id="B">-- B --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="beavers.html">beaver1</a></td>
<td>Body Temperature Series of Two Beavers</td></tr>
<tr><td style="width: 25%;"><a href="beavers.html">beaver2</a></td>
<td>Body Temperature Series of Two Beavers</td></tr>
<tr><td style="width: 25%;"><a href="beavers.html">beavers</a></td>
<td>Body Temperature Series of Two Beavers</td></tr>
<tr><td style="width: 25%;"><a href="BJsales.html">BJsales</a></td>
<td>Sales Data with Leading Indicator</td></tr>
<tr><td style="width: 25%;"><a href="BJsales.html">BJsales.lead</a></td>
<td>Sales Data with Leading Indicator</td></tr>
<tr><td style="width: 25%;"><a href="BOD.html">BOD</a></td>
<td>Biochemical Oxygen Demand</td></tr>
</table>
<h2><a id="C">-- C --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="cars.html">cars</a></td>
<td>Speed and Stopping Distances of Cars</td></tr>
<tr><td style="width: 25%;"><a href="ChickWeight.html">ChickWeight</a></td>
<td>Weight versus age of chicks on different diets</td></tr>
<tr><td style="width: 25%;"><a href="chickwts.html">chickwts</a></td>
<td>Chicken Weights by Feed Type</td></tr>
<tr><td style="width: 25%;"><a href="zCO2.html">CO2</a></td>
<td>Carbon Dioxide Uptake in Grass Plants</td></tr>
<tr><td style="width: 25%;"><a href="co2.html">co2</a></td>
<td>Mauna Loa Atmospheric CO2 Concentration</td></tr>
<tr><td style="width: 25%;"><a href="crimtab.html">crimtab</a></td>
<td>Student's 3000 Criminals Data</td></tr>
</table>
<h2><a id="D">-- D --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="datasets-package.html">datasets</a></td>
<td>The R Datasets Package</td></tr>
<tr><td style="width: 25%;"><a href="discoveries.html">discoveries</a></td>
<td>Yearly Numbers of Important Discoveries</td></tr>
<tr><td style="width: 25%;"><a href="DNase.html">DNase</a></td>
<td>Elisa assay of DNase</td></tr>
</table>
<h2><a id="E">-- E --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="esoph.html">esoph</a></td>
<td>Smoking, Alcohol and (O)esophageal Cancer</td></tr>
<tr><td style="width: 25%;"><a href="euro.html">euro</a></td>
<td>Conversion Rates of Euro Currencies</td></tr>
<tr><td style="width: 25%;"><a href="euro.html">euro.cross</a></td>
<td>Conversion Rates of Euro Currencies</td></tr>
<tr><td style="width: 25%;"><a href="eurodist.html">eurodist</a></td>
<td>Distances Between European Cities and Between US Cities</td></tr>
<tr><td style="width: 25%;"><a href="EuStockMarkets.html">EuStockMarkets</a></td>
<td>Daily Closing Prices of Major European Stock Indices, 1991-1998</td></tr>
</table>
<h2><a id="F">-- F --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="faithful.html">faithful</a></td>
<td>Old Faithful Geyser Data</td></tr>
<tr><td style="width: 25%;"><a href="UKLungDeaths.html">fdeaths</a></td>
<td>Monthly Deaths from Lung Diseases in the UK</td></tr>
<tr><td style="width: 25%;"><a href="Formaldehyde.html">Formaldehyde</a></td>
<td>Determination of Formaldehyde</td></tr>
<tr><td style="width: 25%;"><a href="freeny.html">freeny</a></td>
<td>Freeny's Revenue Data</td></tr>
<tr><td style="width: 25%;"><a href="freeny.html">freeny.x</a></td>
<td>Freeny's Revenue Data</td></tr>
<tr><td style="width: 25%;"><a href="freeny.html">freeny.y</a></td>
<td>Freeny's Revenue Data</td></tr>
</table>
<h2><a id="H">-- H --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="HairEyeColor.html">HairEyeColor</a></td>
<td>Hair and Eye Color of Statistics Students</td></tr>
<tr><td style="width: 25%;"><a href="Harman23.cor.html">Harman23.cor</a></td>
<td>Harman Example 2.3</td></tr>
<tr><td style="width: 25%;"><a href="Harman74.cor.html">Harman74.cor</a></td>
<td>Harman Example 7.4</td></tr>
</table>
<h2><a id="I">-- I --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="Indometh.html">Indometh</a></td>
<td>Pharmacokinetics of Indomethacin</td></tr>
<tr><td style="width: 25%;"><a href="infert.html">infert</a></td>
<td>Infertility after Spontaneous and Induced Abortion</td></tr>
<tr><td style="width: 25%;"><a href="InsectSprays.html">InsectSprays</a></td>
<td>Effectiveness of Insect Sprays</td></tr>
<tr><td style="width: 25%;"><a href="iris.html">iris</a></td>
<td>Edgar Anderson's Iris Data</td></tr>
<tr><td style="width: 25%;"><a href="iris.html">iris3</a></td>
<td>Edgar Anderson's Iris Data</td></tr>
<tr><td style="width: 25%;"><a href="islands.html">islands</a></td>
<td>Areas of the World's Major Landmasses</td></tr>
</table>
<h2><a id="J">-- J --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="JohnsonJohnson.html">JohnsonJohnson</a></td>
<td>Quarterly Earnings per Johnson &amp; Johnson Share</td></tr>
</table>
<h2><a id="L">-- L --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="LakeHuron.html">LakeHuron</a></td>
<td>Level of Lake Huron 1875-1972</td></tr>
<tr><td style="width: 25%;"><a href="UKLungDeaths.html">ldeaths</a></td>
<td>Monthly Deaths from Lung Diseases in the UK</td></tr>
<tr><td style="width: 25%;"><a href="lh.html">lh</a></td>
<td>Luteinizing Hormone in Blood Samples</td></tr>
<tr><td style="width: 25%;"><a href="LifeCycleSavings.html">LifeCycleSavings</a></td>
<td>Intercountry Life-Cycle Savings Data</td></tr>
<tr><td style="width: 25%;"><a href="Loblolly.html">Loblolly</a></td>
<td>Growth of Loblolly pine trees</td></tr>
<tr><td style="width: 25%;"><a href="longley.html">longley</a></td>
<td>Longley's Economic Regression Data</td></tr>
<tr><td style="width: 25%;"><a href="lynx.html">lynx</a></td>
<td>Annual Canadian Lynx trappings 1821-1934</td></tr>
</table>
<h2><a id="M">-- M --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="UKLungDeaths.html">mdeaths</a></td>
<td>Monthly Deaths from Lung Diseases in the UK</td></tr>
<tr><td style="width: 25%;"><a href="morley.html">morley</a></td>
<td>Michelson Speed of Light Data</td></tr>
<tr><td style="width: 25%;"><a href="mtcars.html">mtcars</a></td>
<td>Motor Trend Car Road Tests</td></tr>
</table>
<h2><a id="N">-- N --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="nhtemp.html">nhtemp</a></td>
<td>Average Yearly Temperatures in New Haven</td></tr>
<tr><td style="width: 25%;"><a href="Nile.html">Nile</a></td>
<td>Flow of the River Nile</td></tr>
<tr><td style="width: 25%;"><a href="nottem.html">nottem</a></td>
<td>Average Monthly Temperatures at Nottingham, 1920-1939</td></tr>
<tr><td style="width: 25%;"><a href="npk.html">npk</a></td>
<td>Classical N, P, K Factorial Experiment</td></tr>
</table>
<h2><a id="O">-- O --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="occupationalStatus.html">occupationalStatus</a></td>
<td>Occupational Status of Fathers and their Sons</td></tr>
<tr><td style="width: 25%;"><a href="Orange.html">Orange</a></td>
<td>Growth of Orange Trees</td></tr>
<tr><td style="width: 25%;"><a href="OrchardSprays.html">OrchardSprays</a></td>
<td>Potency of Orchard Sprays</td></tr>
</table>
<h2><a id="P">-- P --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="PlantGrowth.html">PlantGrowth</a></td>
<td>Results from an Experiment on Plant Growth</td></tr>
<tr><td style="width: 25%;"><a href="precip.html">precip</a></td>
<td>Annual Precipitation in US Cities</td></tr>
<tr><td style="width: 25%;"><a href="presidents.html">presidents</a></td>
<td>Quarterly Approval Ratings of US Presidents</td></tr>
<tr><td style="width: 25%;"><a href="pressure.html">pressure</a></td>
<td>Vapor Pressure of Mercury as a Function of Temperature</td></tr>
<tr><td style="width: 25%;"><a href="Puromycin.html">Puromycin</a></td>
<td>Reaction Velocity of an Enzymatic Reaction</td></tr>
</table>
<h2><a id="Q">-- Q --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="quakes.html">quakes</a></td>
<td>Locations of Earthquakes off Fiji</td></tr>
</table>
<h2><a id="R">-- R --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="randu.html">randu</a></td>
<td>Random Numbers from Congruential Generator RANDU</td></tr>
<tr><td style="width: 25%;"><a href="rivers.html">rivers</a></td>
<td>Lengths of Major North American Rivers</td></tr>
<tr><td style="width: 25%;"><a href="rock.html">rock</a></td>
<td>Measurements on Petroleum Rock Samples</td></tr>
</table>
<h2><a id="S">-- S --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="UKDriverDeaths.html">Seatbelts</a></td>
<td>Road Casualties in Great Britain 1969-84</td></tr>
<tr><td style="width: 25%;"><a href="sleep.html">sleep</a></td>
<td>Student's Sleep Data</td></tr>
<tr><td style="width: 25%;"><a href="stackloss.html">stack.loss</a></td>
<td>Brownlee's Stack Loss Plant Data</td></tr>
<tr><td style="width: 25%;"><a href="stackloss.html">stack.x</a></td>
<td>Brownlee's Stack Loss Plant Data</td></tr>
<tr><td style="width: 25%;"><a href="stackloss.html">stackloss</a></td>
<td>Brownlee's Stack Loss Plant Data</td></tr>
<tr><td style="width: 25%;"><a href="state.html">state</a></td>
<td>US State Facts and Figures</td></tr>
<tr><td style="width: 25%;"><a href="state.html">state.abb</a></td>
<td>US State Facts and Figures</td></tr>
<tr><td style="width: 25%;"><a href="state.html">state.area</a></td>
<td>US State Facts and Figures</td></tr>
<tr><td style="width: 25%;"><a href="state.html">state.center</a></td>
<td>US State Facts and Figures</td></tr>
<tr><td style="width: 25%;"><a href="state.html">state.division</a></td>
<td>US State Facts and Figures</td></tr>
<tr><td style="width: 25%;"><a href="state.html">state.name</a></td>
<td>US State Facts and Figures</td></tr>
<tr><td style="width: 25%;"><a href="state.html">state.region</a></td>
<td>US State Facts and Figures</td></tr>
<tr><td style="width: 25%;"><a href="state.html">state.x77</a></td>
<td>US State Facts and Figures</td></tr>
<tr><td style="width: 25%;"><a href="sunspot.month.html">sunspot.month</a></td>
<td>Monthly Sunspot Data, from 1749 to "Present"</td></tr>
<tr><td style="width: 25%;"><a href="sunspot.year.html">sunspot.year</a></td>
<td>Yearly Sunspot Data, 1700-1988</td></tr>
<tr><td style="width: 25%;"><a href="sunspots.html">sunspots</a></td>
<td>Monthly Sunspot Numbers, 1749-1983</td></tr>
<tr><td style="width: 25%;"><a href="swiss.html">swiss</a></td>
<td>Swiss Fertility and Socioeconomic Indicators (1888) Data</td></tr>
</table>
<h2><a id="T">-- T --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="Theoph.html">Theoph</a></td>
<td>Pharmacokinetics of Theophylline</td></tr>
<tr><td style="width: 25%;"><a href="Titanic.html">Titanic</a></td>
<td>Survival of passengers on the Titanic</td></tr>
<tr><td style="width: 25%;"><a href="ToothGrowth.html">ToothGrowth</a></td>
<td>The Effect of Vitamin C on Tooth Growth in Guinea Pigs</td></tr>
<tr><td style="width: 25%;"><a href="treering.html">treering</a></td>
<td>Yearly Treering Data, -6000-1979</td></tr>
<tr><td style="width: 25%;"><a href="trees.html">trees</a></td>
<td>Diameter, Height and Volume for Black Cherry Trees</td></tr>
</table>
<h2><a id="U">-- U --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="UCBAdmissions.html">UCBAdmissions</a></td>
<td>Student Admissions at UC Berkeley</td></tr>
<tr><td style="width: 25%;"><a href="UKDriverDeaths.html">UKDriverDeaths</a></td>
<td>Road Casualties in Great Britain 1969-84</td></tr>
<tr><td style="width: 25%;"><a href="UKgas.html">UKgas</a></td>
<td>UK Quarterly Gas Consumption</td></tr>
<tr><td style="width: 25%;"><a href="UKLungDeaths.html">UKLungDeaths</a></td>
<td>Monthly Deaths from Lung Diseases in the UK</td></tr>
<tr><td style="width: 25%;"><a href="USAccDeaths.html">USAccDeaths</a></td>
<td>Accidental Deaths in the US 1973-1978</td></tr>
<tr><td style="width: 25%;"><a href="USArrests.html">USArrests</a></td>
<td>Violent Crime Rates by US State</td></tr>
<tr><td style="width: 25%;"><a href="eurodist.html">UScitiesD</a></td>
<td>Distances Between European Cities and Between US Cities</td></tr>
<tr><td style="width: 25%;"><a href="USJudgeRatings.html">USJudgeRatings</a></td>
<td>Lawyers' Ratings of State Judges in the US Superior Court</td></tr>
<tr><td style="width: 25%;"><a href="USPersonalExpenditure.html">USPersonalExpenditure</a></td>
<td>Personal Expenditure Data</td></tr>
<tr><td style="width: 25%;"><a href="uspop.html">uspop</a></td>
<td>Populations Recorded by the US Census</td></tr>
</table>
<h2><a id="V">-- V --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="VADeaths.html">VADeaths</a></td>
<td>Death Rates in Virginia (1940)</td></tr>
<tr><td style="width: 25%;"><a href="volcano.html">volcano</a></td>
<td>Topographic Information on Auckland's Maunga Whau Volcano</td></tr>
</table>
<h2><a id="W">-- W --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="warpbreaks.html">warpbreaks</a></td>
<td>The Number of Breaks in Yarn during Weaving</td></tr>
<tr><td style="width: 25%;"><a href="women.html">women</a></td>
<td>Average Heights and Weights for American Women</td></tr>
<tr><td style="width: 25%;"><a href="WorldPhones.html">WorldPhones</a></td>
<td>The World's Telephones</td></tr>
<tr><td style="width: 25%;"><a href="WWWusage.html">WWWusage</a></td>
<td>Internet Usage per Minute</td></tr>
</table>
</div></body></html>
@media screen {
.container {
padding-right: 10px;
padding-left: 10px;
margin-right: auto;
margin-left: auto;
max-width: 900px;
}
}
.rimage img { /* from knitr - for examples and demos */
width: 96%;
margin-left: 2%;
}
.katex { font-size: 1.1em; }
code {
color: inherit;
background: inherit;
}
body {
line-height: 1.4;
background: white;
color: black;
}
a:link {
background: white;
color: blue;
}
a:visited {
background: white;
color: rgb(50%, 0%, 50%);
}
h1 {
background: white;
color: rgb(55%, 55%, 55%);
font-family: monospace;
font-size: 1.4em; /* x-large; */
text-align: center;
}
h2 {
background: white;
color: rgb(40%, 40%, 40%);
font-family: monospace;
font-size: 1.2em; /* large; */
text-align: center;
}
h3 {
background: white;
color: rgb(40%, 40%, 40%);
font-family: monospace;
font-size: 1.2em; /* large; */
}
h4 {
background: white;
color: rgb(40%, 40%, 40%);
font-family: monospace;
font-style: italic;
font-size: 1.2em; /* large; */
}
h5 {
background: white;
color: rgb(40%, 40%, 40%);
font-family: monospace;
}
h6 {
background: white;
color: rgb(40%, 40%, 40%);
font-family: monospace;
font-style: italic;
}
img.toplogo {
width: 4em;
vertical-align: middle;
}
img.arrow {
width: 30px;
height: 30px;
border: 0;
}
span.acronym {
font-size: small;
}
span.env {
font-family: monospace;
}
span.file {
font-family: monospace;
}
span.option{
font-family: monospace;
}
span.pkg {
font-weight: bold;
}
span.samp{
font-family: monospace;
}
div.vignettes a:hover {
background: rgb(85%, 85%, 85%);
}
tr {
vertical-align: top;
}
span.rlang {
font-family: Courier New, Courier;
color: #666666;
}

View file

@ -0,0 +1 @@
{"files":[{"filename":"/00Index.html","start":0,"end":16089},{"filename":"/R.css","start":16089,"end":17933}],"remote_package_size":17933}

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,171 @@
### ----------- Show (almost) all named colors ---------------------
## 1) with traditional 'graphics' package:
showCols1 <- function(bg = "gray", cex = 0.75, srt = 30) {
m <- ceiling(sqrt(n <- length(cl <- colors())))
length(cl) <- m*m; cm <- matrix(cl, m)
##
require("graphics")
op <- par(mar=rep(0,4), ann=FALSE, bg = bg); on.exit(par(op))
plot(1:m,1:m, type="n", axes=FALSE)
text(col(cm), rev(row(cm)), cm, col = cl, cex=cex, srt=srt)
}
showCols1()
## 2) with 'grid' package:
showCols2 <- function(bg = "grey", cex = 0.75, rot = 30) {
m <- ceiling(sqrt(n <- length(cl <- colors())))
length(cl) <- m*m; cm <- matrix(cl, m)
##
require("grid")
grid.newpage(); vp <- viewport(width = .92, height = .92)
grid.rect(gp=gpar(fill=bg))
grid.text(cm, x = col(cm)/m, y = rev(row(cm))/m, rot = rot,
vp=vp, gp=gpar(cex = cex, col = cm))
}
showCols2()
showCols2(bg = "gray33")
###
##' @title Comparing Colors
##' @param col
##' @param nrow
##' @param ncol
##' @param txt.col
##' @return the grid layout, invisibly
##' @author Marius Hofert, originally
plotCol <- function(col, nrow=1, ncol=ceiling(length(col) / nrow),
txt.col="black") {
stopifnot(nrow >= 1, ncol >= 1)
if(length(col) > nrow*ncol)
warning("some colors will not be shown")
require(grid)
grid.newpage()
gl <- grid.layout(nrow, ncol)
pushViewport(viewport(layout=gl))
ic <- 1
for(i in 1:nrow) {
for(j in 1:ncol) {
pushViewport(viewport(layout.pos.row=i, layout.pos.col=j))
grid.rect(gp= gpar(fill=col[ic]))
grid.text(col[ic], gp=gpar(col=txt.col))
upViewport()
ic <- ic+1
}
}
upViewport()
invisible(gl)
}
## A Chocolate Bar of colors:
plotCol(c("#CC8C3C", paste0("chocolate", 2:4),
paste0("darkorange", c("",1:2)), paste0("darkgoldenrod", 1:2),
"orange", "orange1", "sandybrown", "tan1", "tan2"),
nrow=2)
##' Find close R colors() to a given color {original by Marius Hofert)
##' using Euclidean norm in (HSV / RGB / ...) color space
nearRcolor <- function(rgb, cSpace = c("hsv", "rgb255", "Luv", "Lab"),
dist = switch(cSpace, "hsv" = 0.10, "rgb255" = 30,
"Luv" = 15, "Lab" = 12))
{
if(is.character(rgb)) rgb <- col2rgb(rgb)
stopifnot(length(rgb <- as.vector(rgb)) == 3)
Rcol <- col2rgb(.cc <- colors())
uniqC <- !duplicated(t(Rcol)) # gray9 == grey9 (etc)
Rcol <- Rcol[, uniqC] ; .cc <- .cc[uniqC]
cSpace <- match.arg(cSpace)
convRGB2 <- function(Rgb, to)
t(convertColor(t(Rgb), from="sRGB", to=to, scale.in=255))
## the transformation, rgb{0..255} --> cSpace :
TransF <- switch(cSpace,
"rgb255" = identity,
"hsv" = rgb2hsv,
"Luv" = function(RGB) convRGB2(RGB, "Luv"),
"Lab" = function(RGB) convRGB2(RGB, "Lab"))
d <- sqrt(colSums((TransF(Rcol) - as.vector(TransF(rgb)))^2))
iS <- sort.list(d[near <- d <= dist])# sorted: closest first
setNames(.cc[near][iS], format(zapsmall(d[near][iS]), digits=3))
}
nearRcolor(col2rgb("tan2"), "rgb")
nearRcolor(col2rgb("tan2"), "hsv")
nearRcolor(col2rgb("tan2"), "Luv")
nearRcolor(col2rgb("tan2"), "Lab")
nearRcolor("#334455")
## Now, consider choosing a color by looking in the
## neighborhood of one you know :
plotCol(nearRcolor("deepskyblue", "rgb", dist=50))
plotCol(nearRcolor("deepskyblue", dist=.1))
plotCol(nearRcolor("tomato", "rgb", dist= 50), nrow=3)
plotCol(nearRcolor("tomato", "hsv", dist=.12), nrow=3)
plotCol(nearRcolor("tomato", "Luv", dist= 25), nrow=3)
plotCol(nearRcolor("tomato", "Lab", dist= 18), nrow=3)
### ------ hcl() explorations
hcl.wheel <-
function(chroma = 35, lums = 0:100, hues = 1:360, asp = 1,
p.cex = 0.6, do.label = FALSE, rev.lum = FALSE,
fixup = TRUE)
{
## Purpose: show chroma "sections" of hcl() color space; see ?hcl
## ----------------------------------------------------------------------
## Arguments: chroma: can be vector -> multiple plots are done,
## lums, hues, fixup : all corresponding to hcl()'s args
## rev.lum: logical indicating if luminance
## should go from outer to inner
## ----------------------------------------------------------------------
## Author: Martin Maechler, Date: 24 Jun 2005
require("graphics")
stopifnot(is.numeric(lums), lums >= 0, lums <= 100,
is.numeric(hues), hues >= 0, hues <= 360,
is.numeric(chroma), chroma >= 0, (nch <- length(chroma)) >= 1)
if(is.unsorted(hues)) hues <- sort(hues)
if(nch > 1) {
op <- par(mfrow= n2mfrow(nch), mar = c(0,0,0,0), xpd = TRUE)
on.exit(par(op))
}
for(i.c in 1:nch) {
plot(-1:1,-1:1, type="n", axes = FALSE, xlab="",ylab="", asp = asp)
## main = sprintf("hcl(h = <angle>, c = %g)", chroma[i.c]),
text(0.4, 0.99, paste("chroma =", format(chroma[i.c])),
adj = 0, font = 4)
l.s <- (if(rev.lum) rev(lums) else lums) / max(lums) # <= 1
for(ang in hues) { # could do all this using outer() instead of for()...
a. <- ang * pi/180
z.a <- exp(1i * a.)
cols <- hcl(ang, c = chroma[i.c], l = lums, fixup = fixup)
points(l.s * z.a, pch = 16, col = cols, cex = p.cex)
##if(do."text") : draw the 0,45,90,... angle "lines"
if(do.label)
text(z.a*1.05, labels = ang, col = cols[length(cols)/2],
srt = ang)
}
if(!fixup) ## show the outline
lines(exp(1i * hues * pi/180))
}
invisible()
}
## and now a few interesting calls :
hcl.wheel() # and watch it redraw when you fiddle with the graphic window
hcl.wheel(rev.lum= TRUE) # ditto
hcl.wheel(do.label = TRUE) # ditto
## Now watch:
hcl.wheel(chroma = c(25,35,45,55))
hcl.wheel(chroma = seq(10, 90, by = 10), p.cex = 0.4)
hcl.wheel(chroma = seq(10, 90, by = 10), p.cex = 0.3, fixup = FALSE)
hcl.wheel(chroma = seq(10, 90, by = 10), p.cex = 0.3, rev.lum = TRUE)
if(dev.interactive()) # new "graphics window" -- to compare with previous :
dev.new()
hcl.wheel(chroma = seq(10, 90, by = 10), p.cex = 0.3, rev.lum = TRUE, fixup=FALSE)

View file

@ -0,0 +1 @@
{"files":[{"filename":"/colors.R","start":0,"end":3766},{"filename":"/hclColors.R","start":3766,"end":6376}],"remote_package_size":6376}

View file

@ -0,0 +1,696 @@
/StandardEncoding [
% 0000
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
% 0040
/space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright
/parenleft /parenright /asterisk /plus /comma /hyphen /period /slash
/zero /one /two /three /four /five /six /seven
/eight /nine /colon /semicolon /less /equal /greater /question
% 0100
/at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O /P /Q /R /S /T /U /V
/W /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore
% 0140
/quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t
/u /v /w /x /y /z /braceleft /bar /braceright /asciitilde /.notdef
% 0200
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
% 0240
/.notdef /exclamdown /cent /sterling /fraction /yen /florin /section
/currency /quotesingle /quotedblleft /guillemotleft /guilsinglleft /guilsinglright /fi /fl
/.notdef /endash /dagger /daggerdbl /periodcentered /.notdef /paragraph /bullet
/quotesinglbase /quotedblbase /quotedblright /guillemotright /ellipsis /perthousand /.notdef /questiondown
% 0300
/.notdef /grave /acute /circumflex /tilde /macron /breve /dotaccent
/dieresis /.notdef /ring /cedilla /.notdef /hungarumlaut /ogonek /caron
/emdash /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /AE /.notdef /ordfeminine /.notdef /.notdef /.notdef /.notdef
/Lslash /Oslash /OE /ordmasculine /.notdef /.notdef /.notdef /.notdef
/.notdef /ae /.notdef /.notdef /.notdef /dotlessi /.notdef /.notdef
/lslash /oslash /oe /germandbls /.notdef /.notdef /.notdef /.notdef
]
/SymbolEncoding [
% 0000
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
% 0040
/space /exclam /universal /numbersign /existential /percent /ampersand /suchthat
/parenleft /parenright /asteriskmath /plus /comma /minus /period /slash
/zero /one /two /three /four /five /six /seven
/eight /nine /colon /semicolon /less /equal /greater /question
% 0100
/congruent /Alpha /Beta /Chi /Delta /Epsilon /Phi /Gamma
/Eta /Iota /theta1 /Kappa /Lambda /Mu /Nu /Omicron
/Pi /Theta /Rho /Sigma /Tau /Upsilon /sigma1 /Omega
/Xi /Psi /Zeta /bracketleft /therefore /bracketright /perpendicular /underscore
% 0140
/radicalex /alpha /beta /chi /delta /epsilon /phi /gamma
/eta /iota /phi1 /kappa /lambda /mu /nu /omicron
/pi /theta /rho /sigma /tau /upsilon /omega1 /omega
/xi /psi /zeta /braceleft /bar /braceright /similar /.notdef
% 0200
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
% 0240
/Euro /Upsilon1 /minute /lessequal /fraction /infinity /florin /club
/diamond /heart /spade /arrowboth /arrowleft /arrowup /arrowright /arrowdown
/degree /plusminus /second /greaterequal /multiply /proportional /partialdiff /bullet
/divide /notequal /equivalence /approxequal /ellipsis /arrowvertex /arrowhorizex /carriagereturn
% 0300
/aleph /Ifraktur /Rfraktur /weierstrass /circlemultiply /circleplus /emptyset /intersection
/union /propersuperset /reflexsuperset /notsubset /propersubset /reflexsubset /element /notelement
/angle /gradient /registerserif /copyrightserif /trademarkserif /product /radical /dotmath
/logicalnot /logicaland /logicalor /arrowdblboth /arrowdblleft /arrowdblup /arrowdblright /arrowdbldown
% 0340
/lozenge /angleleft /registersans /copyrightsans /trademarksans /summation /parenlefttp /parenleftex
/parenleftbt /bracketlefttp /bracketleftex /bracketleftbt /bracelefttp /braceleftmid /braceleftbt /braceex
/.notdef /angleright /integral /integraltp /integralex /integralbt /parenrighttp /parenrightex
/parenrightbt /bracketrighttp /bracketrightex /bracketrightbt /bracerighttp /bracerightmid /bracerightbt /.notdef
]
%% CP1250 This should be a postscript fragment of an array of length exactly 256
/CP1250Encoding [
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
%% 040
/space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quotesingle
/parenleft /parenright /asterisk /plus /comma /minus /period /slash
/zero /one /two /three /four /five /six /seven /eight /nine
/colon /semicolon /less /equal /greater /question
/at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O /P /Q /R /S /T /U /V /W
/X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore
/grave /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t /u /v /w
/x /y /z /braceleft /bar /braceright /asciitilde /.notdef
%% 0200
/Euro /.notdef /quotesinglbase /.notdef /quotedblbase /ellipsis /dagger /daggerdbl
/.notdef /perthousand /Scaron /guilsinglleft /Sacute /Tcaron /Zcaron /Zacute
/.notdef /quoteleft /quoteright /quotedblleft /quotedblright /bullet /endash /emdash
/.notdef /trademark /scaron /guilsinglright /sacute /tcaron /zcaron /zacute
%% 0240
/space /caron /breve /Lslash /currency /Aogonek /brokenbar /section
/dieresis /copyright /Scedilla /guillemotleft /logicalnot /hyphen /registered /Zdotaccent
/degree /plusminus /ogonek /lslash /acute /mu /paragraph /periodcentered
/cedilla /aogonek /scedilla /guillemotright /Lcaron /hungarumlaut /lcaron /zdotaccent
%% 0300
/Racute /Aacute /Acircumflex /Abreve /Adieresis /Lacute /Cacute /Ccedilla
/Ccaron /Eacute /Eogonek /Edieresis /Ecaron /Iacute /Icircumflex /Dcaron
/Dcroat /Nacute /Ncaron /Oacute /Ocircumflex /Ohungarumlaut /Odieresis /multiply
/Rcaron /Uring /Uacute /Uhungarumlaut /Udieresis /Yacute /Tcommaaccent /germandbls
% 0340
/racute /aacute /acircumflex /abreve /adieresis /lacute /cacute /ccedilla
/ccaron /eacute /eogonek /edieresis /ecaron /iacute /icircumflex /dcaron
/dcroat /nacute /ncaron /oacute /ocircumflex /ohungarumlaut /odieresis /divide
/rcaron /uring /uacute /uhungarumlaut /udieresis /yacute /tcommaaccent /dotaccent
]
%% CP1251 This should be a postscript fragment of an array of length exactly 256
/CP1251Encoding [
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
%% 040
/space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quotesingle
/parenleft /parenright /asterisk /plus /comma /minus /period /slash
/zero /one /two /three /four /five /six /seven /eight /nine
/colon /semicolon /less /equal /greater /question
/at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O /P /Q /R /S /T /U /V /W
/X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore
/grave /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t /u /v /w
/x /y /z /braceleft /bar /braceright /asciitilde /.notdef
%% 0200
/afii10051 /afii10052 /quotesinglbase /afii10100 /quotedblbase /ellipsis /dagger /daggerdbl
/Euro /perthousand /afii10058 /guilsinglleft /afii10059 /afii10061 /afii10060 /afii10145
%% 0220
/afii10099 /quoteleft /quoteright /quotedblleft /quotedblright /bullet /endash /emdash
/.notdef /trademark /afii10106 /guilsinglright /afii10107 /afii10109 /afii10108 /afii10193
%% 0240
/space /afii10062 /afii10110 /afii10057 /currency /afii10050 /brokenbar /section
/afii10023 /copyright /afii10047 /guillemotleft /logicalnot /hyphen /registered /afii10056
/degree /plusminus /afii10055 /afii10103 /afii10098 /mu /paragraph /periodcentered
/afii10071 /afii61352 /afii10101 /guillemotright /afii10105 /afii10054 /afii10102 /afii10104
%% 0300
/afii10017 /afii10018 /afii10019 /afii10020 /afii10021 /afii10022 /afii10024 /afii10025
/afii10026 /afii10027 /afii10028 /afii10029 /afii10030 /afii10031 /afii10032 /afii10033
/afii10034 /afii10035 /afii10036 /afii10037 /afii10038 /afii10039 /afii10040 /afii10041
/afii10042 /afii10043 /afii10044 /afii10045 /afii10046 /afii10047 /afii10048 /afii10049
%% 0340
/afii10065 /afii10066 /afii10067 /afii10068 /afii10069 /afii10070 /afii10072 /afii10073
/afii10074 /afii10075 /afii10076 /afii10077 /afii10078 /afii10079 /afii10080 /afii10081
/afii10082 /afii10083 /afii10084 /afii10085 /afii10086 /afii10087 /afii10088 /afii10089
/afii10090 /afii10091 /afii10092 /afii10093 /afii10094 /afii10095 /afii10096 /afii10097
]
%% CP1253 This should be a postscript fragment of an array of length exactly 256
/CP1253Encoding [
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
%% 040
/space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quotesingle
/parenleft /parenright /asterisk /plus /comma /minus /period /slash
%% 060
/zero /one /two /three /four /five /six /seven /eight /nine
/colon /semicolon /less /equal /greater /question
%% 0100
/at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O /P /Q /R /S /T /U /V
/W /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore
%% 0140
/grave /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t
/u /v /w /x /y /z /braceleft /bar /braceright /asciitilde /.notdef
%% 0200
/Euro /.notdef /quotesinglbase /florin /quotedblbase /ellipsis /dagger /daggerdbl
/.notdef /perthousand /.notdef /guilsinglleft /.notdef /.notdef /.notdef /.notdef
/.notdef /quoteleft /quoteright /quotedblleft /quotedblright /bullet /endash /emdash
/.notdef /trademark /.notdef /guilsinglright /.notdef /.notdef /.notdef /.notdef
%% 0240
/space /dialytikatonos /Alphatonos /sterling /currency /yen /brokenbar /section
/dieresis /copyright /.notdef /guillemotleft /logicalnot /hyphen /registered /afii00208
/degree /plusminus /twosuperior /threesuperior /tonos /mu /paragraph /periodcentered
/Epsilontonos /Etatonos /Iotatonos /guillemotright /Omicrontonos /onehalf /Upsilontonos /Omegatonos
/iotadieresistonos /Alpha /Beta /Gamma /Deltagreek /Epsilon /Zeta /Eta
/Theta /Iota /Kappa /Lambda /Mu /Nu /Xi /Omicron
/Pi /Rho /.notdef /Sigma /Tau /Upsilon /Phi /Chi
/Psi /Omegagreek /Iotadieresis /Upsilondieresis /alphatonos /epsilontonos /etatonos /iotatonos
/upsilondieresistonos /alpha /beta /gamma /delta /epsilon /zeta /eta
/theta /iota /kappa /lambda /mugreek /nu /xi /omicron
/pi /rho /sigma1 /sigma /tau /upsilon /phi /chi
/psi /omega /iotadieresis /upsilondieresis /omicrontonos /upsilontonos /omegatonos /.notdef
]
%% CP1257 This should be a postscript fragment of an array of length exactly 256
/CP1257Encoding [
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
%% 040
/space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quotesingle
/parenleft /parenright /asterisk /plus /comma /minus /period /slash
/zero /one /two /three /four /five /six /seven /eight /nine
/colon /semicolon /less /equal /greater /question
/at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O /P /Q /R /S /T /U /V /W
/X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore
/grave /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t /u /v /w
/x /y /z /braceleft /bar /braceright /asciitilde /.notdef
%% 0200
/Euro /.notdef /quotesinglbase /.notdef /quotedblbase /ellipsis /dagger /daggerdbl
/.notdef /perthousand /.notdef /guilsinglleft /.notdef /dieresis /caron /cedilla
/.notdef /quoteleft /quoteright /quotedblleft /quotedblright /bullet /endash /emdash
/.notdef /trademark /.notdef /guilsinglright /.notdef /macron /ogonek /.notdef
%% 0240
/space /.notdef /cent /sterling /currency /.notdef /brokenbar /section
/Oslash /copyright /Rcommaaccent /guillemotleft /logicalnot /hyphen /registered /AE
/degree /plusminus /twosuperior /threesuperior /acute /mu /paragraph /periodcentered
/oslash /onesuperior /rcommaaccent /guillemotright /onequarter /onehalf /threequarters /ae
%% 0300
/Aogonek /Iogonek /Amacron /Cacute /Adieresis /Aring /Eogonek /Emacron
/Ccaron /Eacute /Zacute /Edotaccent /Gcommaaccent /Kcommaaccent /Imacron /Lcommaaccent
/Scaron /Nacute /Ncommaaccent /Oacute /Omacron /Otilde /Odieresis /multiply
/Uogonek /Lslash /Sacute /Umacron /Udieresis /Zdotaccent /Zcaron /germandbls
%% 0340
/aogonek /iogonek /amacron /cacute /adieresis /aring /eogonek /emacron
/ccaron /eacute /zacute /edotaccent /gcommaaccent /kcommaaccent /imacron /lcommaaccent
/scaron /nacute /ncommaaccent /oacute /omacron /otilde /odieresis /divide
/uogonek /lslash /sacute /umacron /udieresis /zdotaccent /zcaron /dotaccent
]
%% ISO8859-5 This should be a postscript fragment of an array of length exactly 256
/ISOLatin5Encoding [
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
%% 040
/space /exclam /quotedbl /numbersign /dollar /percent /ampersand
/quoteright /parenleft /parenright /asterisk /plus /comma /minus /period /slash
%% 060
/zero /one /two /three /four /five /six /seven /eight /nine
/colon /semicolon /less /equal /greater /question
%% 0100
/at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O /P /Q /R /S /T /U /V
/W /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore
%% 0140
/quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t
/u /v /w /x /y /z /braceleft /bar /braceright /asciitilde /.notdef
%% 0200
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
%% 0220
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
%% 0240
/space /afii10023 /afii10051 /afii10052 /afii10053 /afii10054 /afii10055 /afii10056
/afii10057 /afii10058 /afii10059 /afii10060 /afii10061 /hyphen /afii10062 /afii10145
/afii10017 /afii10018 /afii10019 /afii10020 /afii10021 /afii10022 /afii10024 /afii10025
/afii10026 /afii10027 /afii10028 /afii10029 /afii10030 /afii10031 /afii10032 /afii10033
%% 0300
/afii10034 /afii10035 /afii10036 /afii10037 /afii10038 /afii10039 /afii10040 /afii10041
/afii10042 /afii10043 /afii10044 /afii10045 /afii10046 /afii10047 /afii10048 /afii10049
/afii10065 /afii10066 /afii10067 /afii10068 /afii10069 /afii10070 /afii10072 /afii10073
/afii10074 /afii10075 /afii10076 /afii10077 /afii10078 /afii10079 /afii10080 /afii10081
%% 0340
/afii10082 /afii10083 /afii10084 /afii10085 /afii10086 /afii10087 /afii10088 /afii10089
/afii10090 /afii10091 /afii10092 /afii10093 /afii10094 /afii10095 /afii10096 /afii10097
/afii61352 /afii10071 /afii10099 /afii10100 /afii10101 /afii10102 /afii10103 /afii10104
/afii10105 /afii10106 /afii10107 /afii10108 /afii10109 /section /afii10110 /afii10193
]
%% ISO8859-7 (2003) This should be a postscript fragment of an array of length exactly 256
/ISOGreekEncoding [
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
%% 040
/space /exclam /quotedbl /numbersign /dollar /percent /ampersand
/quoteright /parenleft /parenright /asterisk /plus /comma /minus /period /slash
%% 060
/zero /one /two /three /four /five /six /seven /eight /nine
/colon /semicolon /less /equal /greater /question
%% 0100
/at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O /P /Q /R /S /T /U /V
/W /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore
%% 0140
/quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t
/u /v /w /x /y /z /braceleft /bar /braceright /asciitilde /.notdef
%% 0200
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
%% 0240 A5 is Drachma, not in Adobe list.
/space /quoteleft /quoteright /sterling /Euro /.notdef /brokenbar /section
/dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen /registered /afii00208
/degree /plusminus /twosuperior /threesuperior /tonos /dieresistonos /Alphatonos /periodcentered
/Epsilontonos /Etatonos /Iotatonos /guillemotright /Omicrontonos /onehalf /Upsilontonos /Omegatonos
/iotadieresistonos /Alpha /Beta /Gamma /Deltagreek /Epsilon /Zeta /Eta
/Theta /Iota /Kappa /Lambda /Mu /Nu /Xi /Omicron
/Pi /Rho /.notdef /Sigma /Tau /Upsilon /Phi /Chi
/Psi /Omegagreek /Iotadieresis /Upsilondieresis /alphatonos /epsilontonos /etatonos /iotatonos
%% 0340
/upsilondieresistonos /alpha /beta /gamma /delta /epsilon /zeta /eta
/theta /iota /kappa /lambda /mugreek /nu /xi /omicron
/pi /rho /sigma1 /sigma /tau /upsilon /phi /chi
/psi /omega /iotadieresis /upsilondieresis /omicrontonos /upsilontonos /omegatonos /.notdef
]
%% This should be a postscript fragment of an array of length exactly 256
/ISOLatin1Encoding [
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
%% 040
/space /exclam /quotedbl /numbersign /dollar /percent /ampersand
/quoteright /parenleft /parenright /asterisk /plus /comma /minus /period /slash
%% 060
/zero /one /two /three /four /five /six /seven /eight /nine
/colon /semicolon /less /equal /greater /question
%% 0100
/at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O /P /Q /R /S /T /U /V
/W /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore
%% 0140
/quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t
/u /v /w /x /y /z /braceleft /bar /braceright /asciitilde /.notdef
%% 0200
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
%% 0220
/dotlessi /grave /acute /circumflex /tilde /macron /breve /dotaccent
/dieresis /.notdef /ring /cedilla /.notdef /hungarumlaut /ogonek /caron
%% 0240
/space /exclamdown /cent /sterling /currency /yen /brokenbar /section
/dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron
/degree /plusminus /twosuperior /threesuperior /acute /mu /paragraph /periodcentered
/cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf /threequarters /questiondown
%% 0300
/Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla
/Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis
/Eth /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply
/Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /germandbls
/agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla
/egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis
/eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide
/oslash /ugrave /uacute /ucircumflex /udieresis /yacute /thorn /ydieresis
]
%% This should be a postscript fragment of an array of length exactly 256
/ISOLatin2Encoding [
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
%% 040
/space /exclam /quotedbl /numbersign /dollar /percent /ampersand
/quoteright /parenleft /parenright /asterisk /plus /comma /minus /period /slash
%% 060
/zero /one /two /three /four /five /six /seven /eight /nine
/colon /semicolon /less /equal /greater /question
%% 0100
/at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O /P /Q /R /S /T /U /V
/W /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore
%% 0140
/quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t
/u /v /w /x /y /z /braceleft /bar /braceright /asciitilde /.notdef
%% 0200
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
%% 0220
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
%% 0240
/space /Aogonek /breve /Lslash /currency /Lcaron /Sacute /section
/dieresis /Scaron /Scedilla /Tcaron /Zacute /hyphen /Zcaron /Zdotaccent
/degree /aogonek /ogonek /lslash /acute /lcaron /sacute /caron
/cedilla /scaron /scedilla /tcaron /zacute /hungarumlaut /zcaron /zdotaccent
%% 0300
/Racute /Aacute /Acircumflex /Abreve /Adieresis /Lacute /Cacute /Ccedilla
/Ccaron /Eacute /Eogonek /Edieresis /Ecaron /Iacute /Icircumflex /Dcaron
/Dcroat /Nacute /Ncaron /Oacute /Ocircumflex /Ohungarumlaut /Odieresis /multiply
/Rcaron /Uring /Uacute /Uhungarumlaut /Udieresis /Yacute /Tcommaaccent /germandbls
% 0340
/racute /aacute /acircumflex /abreve /adieresis /lacute /cacute /ccedilla
/ccaron /eacute /eogonek /edieresis /ecaron /iacute /icircumflex /dcaron
/dcroat /nacute /ncaron /oacute /ocircumflex /ohungarumlaut /odieresis /divide
/rcaron /uring /uacute /uhungarumlaut /udieresis /yacute /tcommaaccent /dotaccent
]
%% ISO8859-13 This should be a postscript fragment of an array of length exactly 256
/ISOLatin7Encoding [
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
%% 040
/space /exclam /quotedbl /numbersign /dollar /percent /ampersand
/quoteright /parenleft /parenright /asterisk /plus /comma /minus /period /slash
%% 060
/zero /one /two /three /four /five /six /seven /eight /nine
/colon /semicolon /less /equal /greater /question
%% 0100
/at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O /P /Q /R /S /T /U /V
/W /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore
%% 0140
/quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t
/u /v /w /x /y /z /braceleft /bar /braceright /asciitilde /.notdef
%% 0200
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
%% 0220
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
%% 0240
/space /quotedblright /cent /sterling /currency /quotedblbase /brokenbar /section
/Oslash /copyright /Rcommaaccent /guillemotleft /logicalnot /hyphen /registered /AE
/degree /plusminus /twosuperior /threesuperior /quotedblleft /mu /paragraph /periodcentered
/oslash /onesuperior /rcommaaccent /guillemotright /onequarter /onehalf /threequarters /ae
%% 0300
/Aogonek /Iogonek /Amacron /Cacute /Adieresis /Aring /Eogonek /Emacron
/Ccaron /Eacute /Zacute /Edotaccent /Gcommaaccent /Kcommaaccent /Imacron /Lcommaaccent
/Scaron /Nacute /Ncommaaccent /Oacute /Omacron /Otilde /Odieresis /multiply
/Uogonek /Lslash /Sacute /Umacron /Udieresis /Zdotaccent /Zcaron /germandbls
%% 0340
/aogonek /iogonek /amacron /cacute /adieresis /aring /eogonek /emacron
/ccaron /eacute /zacute /edotaccent /gcommaaccent /kcommaaccent /imacron /lcommaaccent
/scaron /nacute /ncommaaccent /oacute /omacron /otilde /odieresis /divide
/uogonek /lslash /sacute /umacron /udieresis /zdotaccent /zcaron /quoteright
]
%% ISO-8859-15 (draft?) Has Euro in place of currency, scaron, zcaon, oe ...
/ISOLatin9Encoding [
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
%% 040
/space /exclam /quotedbl /numbersign /dollar /percent /ampersand
/quoteright /parenleft /parenright /asterisk /plus /comma /minus /period /slash
%% 060
/zero /one /two /three /four /five /six /seven /eight /nine
/colon /semicolon /less /equal /greater /question
%% 0100
/at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O /P /Q /R /S /T /U /V
/W /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore
%% 0140
/quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t
/u /v /w /x /y /z /braceleft /bar /braceright /asciitilde /.notdef
%% 0200
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
%% 0220
/dotlessi /grave /acute /circumflex /tilde /macron /breve /dotaccent
/dieresis /.notdef /ring /cedilla /.notdef /hungarumlaut /ogonek /caron
%% 0240
/space /exclamdown /cent /sterling /Euro /yen /Scaron /section
/scaron /copyright /ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron
/degree /plusminus /twosuperior /threesuperior /Zcaron /mu /paragraph /periodcentered
/zcaron /onesuperior /ordmasculine /guillemotright /OE /oe /Ydieresis /questiondown
%% 0300
/Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla
/Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis
/Eth /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply
/Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /germandbls
/agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla
/egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis
/eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide
/oslash /ugrave /uacute /ucircumflex /udieresis /yacute /thorn /ydieresis
]
%% KOI8-R This should be a postscript fragment of an array of length exactly 256
/KOI8REncoding [
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /dagger /ddagger
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
%% 040
/space /exclam /quotedbl /numbersign /dollar /percent /ampersand
/quoteright /parenleft /parenright /asterisk /plus /comma /minus /period /slash
%% 060
/zero /one /two /three /four /five /six /seven /eight /nine
/colon /semicolon /less /equal /greater /question
%% 0100
/at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O /P /Q /R /S /T /U /V
/W /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore
%% 0140
/quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t
/u /v /w /x /y /z /braceleft /bar /braceright /asciitilde /.notdef
%% 0200
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
%% 0220
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /space /.notdef /degree /twosuperior /periodcentered /divide
%% 0240
/.notdef /.notdef /.notdef /afii10071 /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /afii10023 /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /copyright
%% 0300
/afii10096 /afii10065 /afii10066 /afii10088 /afii10069 /afii10070 /afii10086 /afii10068
/afii10087 /afii10074 /afii10075 /afii10076 /afii10077 /afii10078 /afii10079 /afii10080
/afii10081 /afii10097 /afii10082 /afii10083 /afii10084 /afii10085 /afii10072 /afii10067
/afii10094 /afii10093 /afii10073 /afii10090 /afii10095 /afii10091 /afii10089 /afii10092
/afii10048 /afii10017 /afii10018 /afii10040 /afii10021 /afii10022 /afii10038 /afii10020
/afii10039 /afii10026 /afii10027 /afii10028 /afii10029 /afii10030 /afii10031 /afii10032
/afii10033 /afii10049 /afii10034 /afii10035 /afii10036 /afii10037 /afii10024 /afii10019
/afii10046 /afii10045 /afii10025 /afii10042 /afii10047 /afii10043 /afii10041 /afii10044
]
%% KOI8-U This should be a postscript fragment of an array of length exactly 256
/KOI8UEncoding [
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /dagger /ddagger
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
%% 040
/space /exclam /quotedbl /numbersign /dollar /percent /ampersand
/quoteright /parenleft /parenright /asterisk /plus /comma /minus /period /slash
%% 060
/zero /one /two /three /four /five /six /seven /eight /nine
/colon /semicolon /less /equal /greater /question
%% 0100
/at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O /P /Q /R /S /T /U /V
/W /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore
%% 0140
/quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t
/u /v /w /x /y /z /braceleft /bar /braceright /asciitilde /.notdef
%% 0200
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /afii10050 /.notdef /.notdef
%% 0220
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /space /.notdef /degree /twosuperior /periodcentered /divide
%% 0240
/.notdef /.notdef /.notdef /afii10071 /afii10101 /.notdef /afii10103 /afii10104
/.notdef /.notdef /.notdef /.notdef /.notdef /afii10098 /.notdef /.notdef
/.notdef /.notdef /.notdef /afii10023 /afii10053 /.notdef /afii10055 /afii10056
/.notdef /.notdef /.notdef /.notdef /.notdef /afii10050 /.notdef /copyright
%% 0300
/afii10096 /afii10065 /afii10066 /afii10088 /afii10069 /afii10070 /afii10086 /afii10068
/afii10087 /afii10074 /afii10075 /afii10076 /afii10077 /afii10078 /afii10079 /afii10080
/afii10081 /afii10097 /afii10082 /afii10083 /afii10084 /afii10085 /afii10072 /afii10067
/afii10094 /afii10093 /afii10073 /afii10090 /afii10095 /afii10091 /afii10089 /afii10092
/afii10048 /afii10017 /afii10018 /afii10040 /afii10021 /afii10022 /afii10038 /afii10020
/afii10039 /afii10026 /afii10027 /afii10028 /afii10029 /afii10030 /afii10031 /afii10032
/afii10033 /afii10049 /afii10034 /afii10035 /afii10036 /afii10037 /afii10024 /afii10019
/afii10046 /afii10045 /afii10025 /afii10042 /afii10047 /afii10043 /afii10041 /afii10044
]
%% As defined by PDF 1.3, but with /currency replaced by /Euro as per Apple
/MacRomanEncoding [
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
%% 040
/space /exclam /quotedbl /numbersign /dollar /percent /ampersand
/quoteright /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash
%% 060
/zero /one /two /three /four /five /six /seven /eight /nine
/colon /semicolon /less /equal /greater /question
%% 0100
/at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O /P /Q /R /S /T /U /V
/W /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore
%% 0140
/grave /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t
/u /v /w /x /y /z /braceleft /bar /braceright /asciitilde /.notdef
%% 0200
/Adieresis /Aring /Ccedilla /Eacute /Ntilde /Odieresis /Udieresis /aacute
/agrave /acircumflex /adieresis /atilde /aring /ccedilla /eacute /egrave
%% 0220
/ecircumflex /edieresis /iacute /igrave /icircumflex /idieresis /ntilde /oacute
/ograve /ocircumflex /odieresis /otilde /uacute /ugrave /ucircumflex /udieresis
%% 0240
/dagger /degree /cent /sterling /section /bullet /paragraph /germandbls
/registered /copyright /trademark /acute /dieresis /.notdef /AE /Oslash
/.notdef /plusminus /.notdef /.notdef /yen /mu /.notdef /.notdef
/.notdef /.notdef /.notdef /ordfeminine /ordmasculine /.notdef /ae /oslash
%% 0300
/questiondown /exclamdown /logicalnot /.notdef /florin /.notdef /.notdef /guillemotleft
/guillemotright /ellipsis /space /Agrave /Atilde /Otilde /OE /oe
/endash /emdash /quotedblleft /quotedblright /quoteleft /quoteright /divide /.notdef
/ydieresis /Ydieresis /fraction /Euro /guilsinglleft /guilsinglright /fi /fl
/daggerdbl /periodcentered /quotesinglbase /quotedblbase /perthousand /Acircumflex /Ecircumflex /Aacute
/Edieresis /Egrave /Iacute /Icircumflex /Idieresis /Igrave /Oacute /Ocircumflex
/.notdef /Ograve /Uacute /Ucircumflex /Ugrave /dotlessi /circumflex /tilde
/macron /breve /dotaccent /ring /cedilla /hungarumlaut /ogonek /caron
]
%% As used by PDF 1.3
/PDFDocEncoding [
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/breve /caron /circumflex /dotaccent /hungarumlaut /ogonek /ring /tilde
%% 040
/space /exclam /quotedbl /numbersign /dollar /percent /ampersand
/quoteright /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash
%% 060
/zero /one /two /three /four /five /six /seven /eight /nine
/colon /semicolon /less /equal /greater /question
%% 0100
/at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O /P /Q /R /S /T /U /V
/W /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore
%% 0140
/grave /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t
/u /v /w /x /y /z /braceleft /bar /braceright /asciitilde /.notdef
%% 0200
/bullet /dagger /daggerdbl /ellipsis /emdash /endash /florin /fraction
/guilsinglleft /guilsinglright /minus /perthousand /quotedblbase /quotedblleft /quotedblright /quoteleft
%% 0220
/quoteright /quotesinglbase /trademark /fi /fl /Lslash /OE /Scaron
/Ydieresis /Zcaron /dotlessi /lslash /oe /scaron /zcaron /.notdef
%% 0240
/Euro /exclamdown /cent /sterling /currency /yen /brokenbar /section
/dieresis /copyright /ordfeminine /guillemotleft /logicalnot /.notdef /registered /macron
/degree /plusminus /twosuperior /threesuperior /acute /mu /paragraph /periodcentered
/cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf /threequarters /questiondown
%% 0300
/Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla
/Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis
/Eth /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply
/Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /germandbls
/agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla
/egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis
/eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide
/oslash /ugrave /uacute /ucircumflex /udieresis /yacute /thorn /ydieresis
]
%% This should be a postscript fragment of an array of length exactly 256
/TeXtextEncoding [
/minus /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon
/Phi /Psi /Omega /ff /fi /fl /ffi /ffl
/dotlessi /dotlessj /grave /acute /caron /breve /macron /ring
/cedilla /germandbls /ae /oe /oslash /AE /OE /Oslash
%% 040
/space /exclam /quotedblright /numbersign /dollar /percent /ampersand
/quoteright /parenleft /parenright /asterisk /plus /comma /minus /period /slash
%% 060
/zero /one /two /three /four /five /six /seven /eight /nine
/colon /semicolon /exclamdown /equal /questiondown /question
%% 0100
/at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O /P /Q /R /S /T /U /V
/W /X /Y /Z /bracketleft /quotedblleft /bracketright /circumflex /dotaccent
%% 0140
/quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t
/u /v /w /x /y /z /endash /emdash /hungarumlaut /tilde /dieresis
%% 0200
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
%% 0220
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
%% 0240
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
%% 0300
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
]
%% As used by PDF 1.3, but with Euro at 128, and bullet only at 149
%% as that is what Windows actually uses.
/WinAnsiEncoding [
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
%% 040
/space /exclam /quotedbl /numbersign /dollar /percent /ampersand
/quoteright /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash
%% 060
/zero /one /two /three /four /five /six /seven /eight /nine
/colon /semicolon /less /equal /greater /question
%% 0100
/at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O /P /Q /R /S /T /U /V
/W /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore
%% 0140
/grave /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t
/u /v /w /x /y /z /braceleft /bar /braceright /asciitilde /.notdef
%% 0200
/Euro /.notdef /quotesinglbase /florin /quotedblbase /ellipsis /dagger /daggerdbl
/circumflex /perthousand /Scaron /guilsinglleft /OE /.notdef /Zcaron /.notdef
%% 0220
/.notdef /quoteleft /quoteright /quotedblleft /quotedblright /bullet /endash /emdash
/tilde /trademark /scaron /guilsinglright /oe /.notdef /zcaron /Ydieresis
%% 0240
/space /exclamdown /cent /sterling /currency /yen /brokenbar /section
/dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron
/degree /plusminus /twosuperior /threesuperior /acute /mu /paragraph /periodcentered
/cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf /threequarters /questiondown
%% 0300
/Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla
/Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis
/Eth /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply
/Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /germandbls
/agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla
/egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis
/eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide
/oslash /ugrave /uacute /ucircumflex /udieresis /yacute /thorn /ydieresis
]

View file

@ -0,0 +1 @@
{"files":[{"filename":"/AdobeStd.enc","start":0,"end":2094},{"filename":"/AdobeSym.enc","start":2094,"end":4608},{"filename":"/CP1250.enc","start":4608,"end":6832},{"filename":"/CP1251.enc","start":6832,"end":9221},{"filename":"/CP1253.enc","start":9221,"end":11406},{"filename":"/CP1257.enc","start":11406,"end":13653},{"filename":"/Cyrillic.enc","start":13653,"end":16002},{"filename":"/Greek.enc","start":16002,"end":18214},{"filename":"/ISOLatin1.enc","start":18214,"end":20427},{"filename":"/ISOLatin2.enc","start":20427,"end":22614},{"filename":"/ISOLatin7.enc","start":22614,"end":24886},{"filename":"/ISOLatin9.enc","start":24886,"end":27082},{"filename":"/KOI8-R.enc","start":27082,"end":29372},{"filename":"/KOI8-U.enc","start":29372,"end":31680},{"filename":"/MacRoman.enc","start":31680,"end":33942},{"filename":"/PDFDoc.enc","start":33942,"end":36149},{"filename":"/TeXtext.enc","start":36149,"end":38240},{"filename":"/WinAnsi.enc","start":38240,"end":40551}],"remote_package_size":40551}

View file

@ -0,0 +1 @@
{"files":[{"filename":"/Montserrat/static/Montserrat-BoldItalic.ttf","start":0,"end":202492},{"filename":"/Montserrat/static/Montserrat-Medium.ttf","start":202492,"end":400596},{"filename":"/Roboto/LICENSE.txt","start":400596,"end":412156},{"filename":"/Roboto/Roboto-Medium.ttf","start":412156,"end":580800}],"remote_package_size":580800}

View file

@ -0,0 +1 @@
{"files":[{"filename":"/AnIndex","start":0,"end":3983},{"filename":"/aliases.rds","start":3983,"end":5596},{"filename":"/grDevices.rdb","start":5596,"end":404447},{"filename":"/grDevices.rdx","start":404447,"end":406221},{"filename":"/paths.rds","start":406221,"end":406973}],"remote_package_size":406973}

View file

@ -0,0 +1,650 @@
<!DOCTYPE html>
<html>
<head><title>R: The R Graphics Devices and Support for Colours and Fonts</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
<link rel="stylesheet" type="text/css" href="R.css" />
</head><body><div class="container">
<h1> The R Graphics Devices and Support for Colours and Fonts
<img class="toplogo" src="../../../doc/html/Rlogo.svg" alt="[R logo]" />
</h1>
<hr/>
<div style="text-align: center;">
<a href="../../../doc/html/packages.html"><img class="arrow" src="../../../doc/html/left.jpg" alt="[Up]" /></a>
<a href="../../../doc/html/index.html"><img class="arrow" src="../../../doc/html/up.jpg" alt="[Top]" /></a>
</div><h2>Documentation for package &lsquo;grDevices&rsquo; version 4.3.0</h2>
<ul><li><a href="../DESCRIPTION">DESCRIPTION file</a>.</li>
<li><a href="../demo">Code demos</a>. Use <a href="../../utils/help/demo">demo()</a> to run them.</li>
</ul>
<h2>Help Pages</h2>
<p style="text-align: center;">
<a href="# "> </a>
<a href="#A">A</a>
<a href="#B">B</a>
<a href="#C">C</a>
<a href="#D">D</a>
<a href="#E">E</a>
<a href="#F">F</a>
<a href="#G">G</a>
<a href="#H">H</a>
<a href="#I">I</a>
<a href="#J">J</a>
<a href="#M">M</a>
<a href="#N">N</a>
<a href="#O">O</a>
<a href="#P">P</a>
<a href="#Q">Q</a>
<a href="#R">R</a>
<a href="#S">S</a>
<a href="#T">T</a>
<a href="#U">U</a>
<a href="#W">W</a>
<a href="#X">X</a>
<a href="#misc">misc</a>
</p>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="grDevices-package.html">grDevices-package</a></td>
<td>The R Graphics Devices and Support for Colours and Fonts</td></tr>
</table>
<h2><a id="A">-- A --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="adjustcolor.html">adjustcolor</a></td>
<td>Adjust Colors in One or More Directions Conveniently.</td></tr>
<tr><td style="width: 25%;"><a href="as.graphicsAnnot.html">as.graphicsAnnot</a></td>
<td>Coerce an Object for Graphics Annotation</td></tr>
<tr><td style="width: 25%;"><a href="as.raster.html">as.raster</a></td>
<td>Create a Raster Object</td></tr>
<tr><td style="width: 25%;"><a href="as.raster.html">as.raster.array</a></td>
<td>Create a Raster Object</td></tr>
<tr><td style="width: 25%;"><a href="as.raster.html">as.raster.character</a></td>
<td>Create a Raster Object</td></tr>
<tr><td style="width: 25%;"><a href="as.raster.html">as.raster.logical</a></td>
<td>Create a Raster Object</td></tr>
<tr><td style="width: 25%;"><a href="as.raster.html">as.raster.matrix</a></td>
<td>Create a Raster Object</td></tr>
<tr><td style="width: 25%;"><a href="as.raster.html">as.raster.numeric</a></td>
<td>Create a Raster Object</td></tr>
<tr><td style="width: 25%;"><a href="as.raster.html">as.raster.raw</a></td>
<td>Create a Raster Object</td></tr>
<tr><td style="width: 25%;"><a href="plotmath.html">atop</a></td>
<td>Mathematical Annotation in R</td></tr>
<tr><td style="width: 25%;"><a href="axisTicks.html">axisTicks</a></td>
<td>Compute Pretty Axis Tick Scales</td></tr>
</table>
<h2><a id="B">-- B --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="plotmath.html">bar</a></td>
<td>Mathematical Annotation in R</td></tr>
<tr><td style="width: 25%;"><a href="plotmath.html">bgroup</a></td>
<td>Mathematical Annotation in R</td></tr>
<tr><td style="width: 25%;"><a href="dev2bitmap.html">bitmap</a></td>
<td>Graphics Device for Bitmap Files via Ghostscript</td></tr>
<tr><td style="width: 25%;"><a href="densCols.html">blues9</a></td>
<td>Colors for Smooth Density Plots</td></tr>
<tr><td style="width: 25%;"><a href="png.html">bmp</a></td>
<td>BMP, JPEG, PNG and TIFF graphics devices</td></tr>
<tr><td style="width: 25%;"><a href="plotmath.html">bold</a></td>
<td>Mathematical Annotation in R</td></tr>
<tr><td style="width: 25%;"><a href="plotmath.html">bolditalic</a></td>
<td>Mathematical Annotation in R</td></tr>
<tr><td style="width: 25%;"><a href="boxplot.stats.html">boxplot.stats</a></td>
<td>Box Plot Statistics</td></tr>
<tr><td style="width: 25%;"><a href="bringToTop.html">bringToTop</a></td>
<td>Assign Focus to a Window</td></tr>
</table>
<h2><a id="C">-- C --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="cairoSymbolFont.html">cairoSymbolFont</a></td>
<td>Specify a Symbol Font</td></tr>
<tr><td style="width: 25%;"><a href="cairo.html">cairo_pdf</a></td>
<td>Cairographics-based SVG, PDF and PostScript Graphics Devices</td></tr>
<tr><td style="width: 25%;"><a href="cairo.html">cairo_ps</a></td>
<td>Cairographics-based SVG, PDF and PostScript Graphics Devices</td></tr>
<tr><td style="width: 25%;"><a href="check.options.html">check.options</a></td>
<td>Set Options with Consistency Checks</td></tr>
<tr><td style="width: 25%;"><a href="chull.html">chull</a></td>
<td>Compute Convex Hull of a Set of Points</td></tr>
<tr><td style="width: 25%;"><a href="Type1Font.html">CIDFont</a></td>
<td>Type 1 and CID Fonts</td></tr>
<tr><td style="width: 25%;"><a href="cm.html">cm</a></td>
<td>Unit Transformation</td></tr>
<tr><td style="width: 25%;"><a href="palettes.html">cm.colors</a></td>
<td>Color Palettes</td></tr>
<tr><td style="width: 25%;"><a href="col2rgb.html">col2rgb</a></td>
<td>Color to RGB Conversion</td></tr>
<tr><td style="width: 25%;"><a href="make.rgb.html">colorConverter</a></td>
<td>Create colour spaces</td></tr>
<tr><td style="width: 25%;"><a href="colorRamp.html">colorRamp</a></td>
<td>Color interpolation</td></tr>
<tr><td style="width: 25%;"><a href="colorRamp.html">colorRampPalette</a></td>
<td>Color interpolation</td></tr>
<tr><td style="width: 25%;"><a href="colors.html">colors</a></td>
<td>Color Names</td></tr>
<tr><td style="width: 25%;"><a href="convertColor.html">colorspaces</a></td>
<td>Convert between Colour Spaces</td></tr>
<tr><td style="width: 25%;"><a href="colors.html">colours</a></td>
<td>Color Names</td></tr>
<tr><td style="width: 25%;"><a href="contourLines.html">contourLines</a></td>
<td>Calculate Contour Lines</td></tr>
<tr><td style="width: 25%;"><a href="convertColor.html">convertColor</a></td>
<td>Convert between Colour Spaces</td></tr>
</table>
<h2><a id="D">-- D --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="densCols.html">densCols</a></td>
<td>Colors for Smooth Density Plots</td></tr>
<tr><td style="width: 25%;"><a href="dev.capabilities.html">dev.capabilities</a></td>
<td>Query Capabilities of the Current Graphics Device</td></tr>
<tr><td style="width: 25%;"><a href="dev.capture.html">dev.capture</a></td>
<td>Capture device output as a raster image</td></tr>
<tr><td style="width: 25%;"><a href="dev2.html">dev.control</a></td>
<td>Copy Graphics Between Multiple Devices</td></tr>
<tr><td style="width: 25%;"><a href="dev2.html">dev.copy</a></td>
<td>Copy Graphics Between Multiple Devices</td></tr>
<tr><td style="width: 25%;"><a href="dev2.html">dev.copy2eps</a></td>
<td>Copy Graphics Between Multiple Devices</td></tr>
<tr><td style="width: 25%;"><a href="dev2.html">dev.copy2pdf</a></td>
<td>Copy Graphics Between Multiple Devices</td></tr>
<tr><td style="width: 25%;"><a href="dev.html">dev.cur</a></td>
<td>Control Multiple Devices</td></tr>
<tr><td style="width: 25%;"><a href="dev.flush.html">dev.flush</a></td>
<td>Hold or Flush Output on an On-Screen Graphics Device.</td></tr>
<tr><td style="width: 25%;"><a href="dev.flush.html">dev.hold</a></td>
<td>Hold or Flush Output on an On-Screen Graphics Device.</td></tr>
<tr><td style="width: 25%;"><a href="dev.interactive.html">dev.interactive</a></td>
<td>Is the Current Graphics Device Interactive?</td></tr>
<tr><td style="width: 25%;"><a href="dev.html">dev.list</a></td>
<td>Control Multiple Devices</td></tr>
<tr><td style="width: 25%;"><a href="dev.html">dev.new</a></td>
<td>Control Multiple Devices</td></tr>
<tr><td style="width: 25%;"><a href="dev.html">dev.next</a></td>
<td>Control Multiple Devices</td></tr>
<tr><td style="width: 25%;"><a href="dev.html">dev.off</a></td>
<td>Control Multiple Devices</td></tr>
<tr><td style="width: 25%;"><a href="dev.html">dev.prev</a></td>
<td>Control Multiple Devices</td></tr>
<tr><td style="width: 25%;"><a href="dev2.html">dev.print</a></td>
<td>Copy Graphics Between Multiple Devices</td></tr>
<tr><td style="width: 25%;"><a href="dev.html">dev.set</a></td>
<td>Control Multiple Devices</td></tr>
<tr><td style="width: 25%;"><a href="dev.size.html">dev.size</a></td>
<td>Find Size of Device Surface</td></tr>
<tr><td style="width: 25%;"><a href="dev2bitmap.html">dev2bitmap</a></td>
<td>Graphics Device for Bitmap Files via Ghostscript</td></tr>
<tr><td style="width: 25%;"><a href="devAskNewPage.html">devAskNewPage</a></td>
<td>Prompt before New Page</td></tr>
<tr><td style="width: 25%;"><a href="Devices.html">device</a></td>
<td>List of Graphical Devices</td></tr>
<tr><td style="width: 25%;"><a href="dev.interactive.html">deviceIsInteractive</a></td>
<td>Is the Current Graphics Device Interactive?</td></tr>
<tr><td style="width: 25%;"><a href="Devices.html">Devices</a></td>
<td>List of Graphical Devices</td></tr>
<tr><td style="width: 25%;"><a href="plotmath.html">displaystyle</a></td>
<td>Mathematical Annotation in R</td></tr>
<tr><td style="width: 25%;"><a href="plotmath.html">dot</a></td>
<td>Mathematical Annotation in R</td></tr>
</table>
<h2><a id="E">-- E --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="embedFonts.html">embedFonts</a></td>
<td>Embed Fonts in PostScript and PDF</td></tr>
<tr><td style="width: 25%;"><a href="embedFonts.html">embedGlyphs</a></td>
<td>Embed Fonts in PostScript and PDF</td></tr>
<tr><td style="width: 25%;"><a href="extendrange.html">extendrange</a></td>
<td>Extend a Numerical Range by a Small Percentage</td></tr>
</table>
<h2><a id="F">-- F --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="plotmath.html">frac</a></td>
<td>Mathematical Annotation in R</td></tr>
</table>
<h2><a id="G">-- G --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="getGraphicsEvent.html">getGraphicsEvent</a></td>
<td>Wait for a mouse or keyboard event from a graphics window</td></tr>
<tr><td style="width: 25%;"><a href="getGraphicsEvent.html">getGraphicsEventEnv</a></td>
<td>Wait for a mouse or keyboard event from a graphics window</td></tr>
<tr><td style="width: 25%;"><a href="glyphInfo.html">glyphAnchor</a></td>
<td>Describe a Set of Typeset Glyphs.</td></tr>
<tr><td style="width: 25%;"><a href="glyphInfo.html">glyphFont</a></td>
<td>Describe a Set of Typeset Glyphs.</td></tr>
<tr><td style="width: 25%;"><a href="glyphInfo.html">glyphFontList</a></td>
<td>Describe a Set of Typeset Glyphs.</td></tr>
<tr><td style="width: 25%;"><a href="glyphInfo.html">glyphHeight</a></td>
<td>Describe a Set of Typeset Glyphs.</td></tr>
<tr><td style="width: 25%;"><a href="glyphInfo.html">glyphHeightBottom</a></td>
<td>Describe a Set of Typeset Glyphs.</td></tr>
<tr><td style="width: 25%;"><a href="glyphInfo.html">glyphInfo</a></td>
<td>Describe a Set of Typeset Glyphs.</td></tr>
<tr><td style="width: 25%;"><a href="glyphInfo.html">glyphJust</a></td>
<td>Describe a Set of Typeset Glyphs.</td></tr>
<tr><td style="width: 25%;"><a href="glyphInfo.html">glyphJust.character</a></td>
<td>Describe a Set of Typeset Glyphs.</td></tr>
<tr><td style="width: 25%;"><a href="glyphInfo.html">glyphJust.GlyphJust</a></td>
<td>Describe a Set of Typeset Glyphs.</td></tr>
<tr><td style="width: 25%;"><a href="glyphInfo.html">glyphJust.numeric</a></td>
<td>Describe a Set of Typeset Glyphs.</td></tr>
<tr><td style="width: 25%;"><a href="glyphInfo.html">glyphWidth</a></td>
<td>Describe a Set of Typeset Glyphs.</td></tr>
<tr><td style="width: 25%;"><a href="glyphInfo.html">glyphWidthLeft</a></td>
<td>Describe a Set of Typeset Glyphs.</td></tr>
<tr><td style="width: 25%;"><a href="dev.html">graphics.off</a></td>
<td>Control Multiple Devices</td></tr>
<tr><td style="width: 25%;"><a href="gray.html">gray</a></td>
<td>Gray Level Specification</td></tr>
<tr><td style="width: 25%;"><a href="gray.colors.html">gray.colors</a></td>
<td>Gray Color Palette</td></tr>
<tr><td style="width: 25%;"><a href="grDevices-package.html">grDevices</a></td>
<td>The R Graphics Devices and Support for Colours and Fonts</td></tr>
<tr><td style="width: 25%;"><a href="gray.html">grey</a></td>
<td>Gray Level Specification</td></tr>
<tr><td style="width: 25%;"><a href="gray.colors.html">grey.colors</a></td>
<td>Gray Color Palette</td></tr>
<tr><td style="width: 25%;"><a href="plotmath.html">group</a></td>
<td>Mathematical Annotation in R</td></tr>
<tr><td style="width: 25%;"><a href="grSoftVersion.html">grSoftVersion</a></td>
<td>Report Versions of Graphics Software</td></tr>
</table>
<h2><a id="H">-- H --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="plotmath.html">hat</a></td>
<td>Mathematical Annotation in R</td></tr>
<tr><td style="width: 25%;"><a href="hcl.html">hcl</a></td>
<td>HCL Color Specification</td></tr>
<tr><td style="width: 25%;"><a href="palettes.html">hcl.colors</a></td>
<td>Color Palettes</td></tr>
<tr><td style="width: 25%;"><a href="palettes.html">hcl.pals</a></td>
<td>Color Palettes</td></tr>
<tr><td style="width: 25%;"><a href="palettes.html">heat.colors</a></td>
<td>Color Palettes</td></tr>
<tr><td style="width: 25%;"><a href="Hershey.html">Hershey</a></td>
<td>Hershey Vector Fonts in R</td></tr>
<tr><td style="width: 25%;"><a href="hsv.html">hsv</a></td>
<td>HSV Color Specification</td></tr>
</table>
<h2><a id="I">-- I --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="plotmath.html">inf</a></td>
<td>Mathematical Annotation in R</td></tr>
<tr><td style="width: 25%;"><a href="plotmath.html">integral</a></td>
<td>Mathematical Annotation in R</td></tr>
<tr><td style="width: 25%;"><a href="as.raster.html">is.raster</a></td>
<td>Create a Raster Object</td></tr>
<tr><td style="width: 25%;"><a href="plotmath.html">italic</a></td>
<td>Mathematical Annotation in R</td></tr>
</table>
<h2><a id="J">-- J --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="Japanese.html">Japanese</a></td>
<td>Japanese characters in R</td></tr>
<tr><td style="width: 25%;"><a href="png.html">jpeg</a></td>
<td>BMP, JPEG, PNG and TIFF graphics devices</td></tr>
</table>
<h2><a id="M">-- M --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="make.rgb.html">make.rgb</a></td>
<td>Create colour spaces</td></tr>
<tr><td style="width: 25%;"><a href="msgWindow.html">msgWindow</a></td>
<td>Manipulate a Window</td></tr>
</table>
<h2><a id="N">-- N --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="n2mfrow.html">n2mfrow</a></td>
<td>Compute Default 'mfrow' From Number of Plots</td></tr>
<tr><td style="width: 25%;"><a href="nclass.html">nclass.FD</a></td>
<td>Compute the Number of Classes for a Histogram</td></tr>
<tr><td style="width: 25%;"><a href="nclass.html">nclass.scott</a></td>
<td>Compute the Number of Classes for a Histogram</td></tr>
<tr><td style="width: 25%;"><a href="nclass.html">nclass.Sturges</a></td>
<td>Compute the Number of Classes for a Histogram</td></tr>
</table>
<h2><a id="O">-- O --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="plotmath.html">over</a></td>
<td>Mathematical Annotation in R</td></tr>
</table>
<h2><a id="P">-- P --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="palette.html">palette</a></td>
<td>Set or View the Graphics Palette</td></tr>
<tr><td style="width: 25%;"><a href="palette.html">palette.colors</a></td>
<td>Set or View the Graphics Palette</td></tr>
<tr><td style="width: 25%;"><a href="palette.html">palette.pals</a></td>
<td>Set or View the Graphics Palette</td></tr>
<tr><td style="width: 25%;"><a href="pdf.html">pdf</a></td>
<td>PDF Graphics Device</td></tr>
<tr><td style="width: 25%;"><a href="pdf.options.html">pdf.options</a></td>
<td>Auxiliary Function to Set/View Defaults for Arguments of pdf</td></tr>
<tr><td style="width: 25%;"><a href="postscriptFonts.html">pdfFonts</a></td>
<td>PostScript and PDF Font Families</td></tr>
<tr><td style="width: 25%;"><a href="plotmath.html">phantom</a></td>
<td>Mathematical Annotation in R</td></tr>
<tr><td style="width: 25%;"><a href="pictex.html">pictex</a></td>
<td>A PicTeX Graphics Driver</td></tr>
<tr><td style="width: 25%;"><a href="plotmath.html">plain</a></td>
<td>Mathematical Annotation in R</td></tr>
<tr><td style="width: 25%;"><a href="plotmath.html">plotmath</a></td>
<td>Mathematical Annotation in R</td></tr>
<tr><td style="width: 25%;"><a href="png.html">png</a></td>
<td>BMP, JPEG, PNG and TIFF graphics devices</td></tr>
<tr><td style="width: 25%;"><a href="postscript.html">postscript</a></td>
<td>PostScript Graphics</td></tr>
<tr><td style="width: 25%;"><a href="postscriptFonts.html">postscriptFonts</a></td>
<td>PostScript and PDF Font Families</td></tr>
<tr><td style="width: 25%;"><a href="pretty.Date.html">pretty.Date</a></td>
<td>Pretty Breakpoints for Date-Time Classes</td></tr>
<tr><td style="width: 25%;"><a href="pretty.Date.html">pretty.POSIXt</a></td>
<td>Pretty Breakpoints for Date-Time Classes</td></tr>
<tr><td style="width: 25%;"><a href="recordplot.html">print.recordedplot</a></td>
<td>Record and Replay Plots</td></tr>
<tr><td style="width: 25%;"><a href="windows.html">print.SavedPlots</a></td>
<td>Windows Graphics Devices</td></tr>
<tr><td style="width: 25%;"><a href="ps.options.html">ps.options</a></td>
<td>Auxiliary Function to Set/View Defaults for Arguments of postscript</td></tr>
</table>
<h2><a id="Q">-- Q --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="quartz.html">quartz</a></td>
<td>macOS Quartz Device</td></tr>
<tr><td style="width: 25%;"><a href="quartz.html">quartz.options</a></td>
<td>macOS Quartz Device</td></tr>
<tr><td style="width: 25%;"><a href="quartz.html">quartz.save</a></td>
<td>macOS Quartz Device</td></tr>
<tr><td style="width: 25%;"><a href="quartzFonts.html">quartzFont</a></td>
<td>Quartz Fonts Setup</td></tr>
<tr><td style="width: 25%;"><a href="quartzFonts.html">quartzFonts</a></td>
<td>Quartz Fonts Setup</td></tr>
</table>
<h2><a id="R">-- R --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="palettes.html">rainbow</a></td>
<td>Color Palettes</td></tr>
<tr><td style="width: 25%;"><a href="recordGraphics.html">recordGraphics</a></td>
<td>Record Graphics Operations</td></tr>
<tr><td style="width: 25%;"><a href="recordplot.html">recordPlot</a></td>
<td>Record and Replay Plots</td></tr>
<tr><td style="width: 25%;"><a href="recordplot.html">replayPlot</a></td>
<td>Record and Replay Plots</td></tr>
<tr><td style="width: 25%;"><a href="rgb.html">rgb</a></td>
<td>RGB Color Specification</td></tr>
<tr><td style="width: 25%;"><a href="rgb2hsv.html">rgb2hsv</a></td>
<td>RGB to HSV Conversion</td></tr>
<tr><td style="width: 25%;"><a href="plotmath.html">ring</a></td>
<td>Mathematical Annotation in R</td></tr>
</table>
<h2><a id="S">-- S --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="savePlot.html">savePlot</a></td>
<td>Save Cairo X11 Plot to File</td></tr>
<tr><td style="width: 25%;"><a href="plotmath.html">scriptscriptstyle</a></td>
<td>Mathematical Annotation in R</td></tr>
<tr><td style="width: 25%;"><a href="plotmath.html">scriptstyle</a></td>
<td>Mathematical Annotation in R</td></tr>
<tr><td style="width: 25%;"><a href="ps.options.html">setEPS</a></td>
<td>Auxiliary Function to Set/View Defaults for Arguments of postscript</td></tr>
<tr><td style="width: 25%;"><a href="getGraphicsEvent.html">setGraphicsEventEnv</a></td>
<td>Wait for a mouse or keyboard event from a graphics window</td></tr>
<tr><td style="width: 25%;"><a href="getGraphicsEvent.html">setGraphicsEventHandlers</a></td>
<td>Wait for a mouse or keyboard event from a graphics window</td></tr>
<tr><td style="width: 25%;"><a href="ps.options.html">setPS</a></td>
<td>Auxiliary Function to Set/View Defaults for Arguments of postscript</td></tr>
<tr><td style="width: 25%;"><a href="bringToTop.html">stayOnTop</a></td>
<td>Assign Focus to a Window</td></tr>
<tr><td style="width: 25%;"><a href="plotmath.html">sup</a></td>
<td>Mathematical Annotation in R</td></tr>
<tr><td style="width: 25%;"><a href="cairo.html">svg</a></td>
<td>Cairographics-based SVG, PDF and PostScript Graphics Devices</td></tr>
<tr><td style="width: 25%;"><a href="plotmath.html">symbol</a></td>
<td>Mathematical Annotation in R</td></tr>
</table>
<h2><a id="T">-- T --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="palettes.html">terrain.colors</a></td>
<td>Color Palettes</td></tr>
<tr><td style="width: 25%;"><a href="plotmath.html">textstyle</a></td>
<td>Mathematical Annotation in R</td></tr>
<tr><td style="width: 25%;"><a href="png.html">tiff</a></td>
<td>BMP, JPEG, PNG and TIFF graphics devices</td></tr>
<tr><td style="width: 25%;"><a href="palettes.html">topo.colors</a></td>
<td>Color Palettes</td></tr>
<tr><td style="width: 25%;"><a href="trans3d.html">trans3d</a></td>
<td>3D to 2D Transformation for Perspective Plots</td></tr>
<tr><td style="width: 25%;"><a href="Type1Font.html">Type1Font</a></td>
<td>Type 1 and CID Fonts</td></tr>
</table>
<h2><a id="U">-- U --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="plotmath.html">underline</a></td>
<td>Mathematical Annotation in R</td></tr>
</table>
<h2><a id="W">-- W --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="plotmath.html">widehat</a></td>
<td>Mathematical Annotation in R</td></tr>
<tr><td style="width: 25%;"><a href="plotmath.html">widetilde</a></td>
<td>Mathematical Annotation in R</td></tr>
<tr><td style="width: 25%;"><a href="windows.html">win.graph</a></td>
<td>Windows Graphics Devices</td></tr>
<tr><td style="width: 25%;"><a href="windows.html">win.metafile</a></td>
<td>Windows Graphics Devices</td></tr>
<tr><td style="width: 25%;"><a href="windows.html">win.print</a></td>
<td>Windows Graphics Devices</td></tr>
<tr><td style="width: 25%;"><a href="windows.html">windows</a></td>
<td>Windows Graphics Devices</td></tr>
<tr><td style="width: 25%;"><a href="windows.options.html">windows.options</a></td>
<td>Auxiliary Function to Set/View Defaults for Arguments of windows()</td></tr>
<tr><td style="width: 25%;"><a href="windowsFonts.html">windowsFont</a></td>
<td>Windows Fonts</td></tr>
<tr><td style="width: 25%;"><a href="windowsFonts.html">windowsFonts</a></td>
<td>Windows Fonts</td></tr>
</table>
<h2><a id="X">-- X --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="x11.html">X11</a></td>
<td>X Window System Graphics (X11)</td></tr>
<tr><td style="width: 25%;"><a href="x11.html">x11</a></td>
<td>X Window System Graphics (X11)</td></tr>
<tr><td style="width: 25%;"><a href="x11.html">X11.options</a></td>
<td>X Window System Graphics (X11)</td></tr>
<tr><td style="width: 25%;"><a href="x11Fonts.html">X11Font</a></td>
<td>X11 Fonts</td></tr>
<tr><td style="width: 25%;"><a href="x11Fonts.html">X11Fonts</a></td>
<td>X11 Fonts</td></tr>
<tr><td style="width: 25%;"><a href="xfig.html">xfig</a></td>
<td>XFig Graphics Device</td></tr>
<tr><td style="width: 25%;"><a href="xy.coords.html">xy.coords</a></td>
<td>Extracting Plotting Structures</td></tr>
<tr><td style="width: 25%;"><a href="xyTable.html">xyTable</a></td>
<td>Multiplicities of (x,y) Points, e.g., for a Sunflower Plot</td></tr>
<tr><td style="width: 25%;"><a href="xyz.coords.html">xyz.coords</a></td>
<td>Extracting Plotting Structures</td></tr>
</table>
<h2><a id="misc">-- misc --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="axisTicks.html">.axisPars</a></td>
<td>Compute Pretty Axis Tick Scales</td></tr>
<tr><td style="width: 25%;"><a href="postscript.html">.ps.prolog</a></td>
<td>PostScript Graphics</td></tr>
<tr><td style="width: 25%;"><a href="windows.html">[.SavedPlots</a></td>
<td>Windows Graphics Devices</td></tr>
</table>
</div></body></html>
@media screen {
.container {
padding-right: 10px;
padding-left: 10px;
margin-right: auto;
margin-left: auto;
max-width: 900px;
}
}
.rimage img { /* from knitr - for examples and demos */
width: 96%;
margin-left: 2%;
}
.katex { font-size: 1.1em; }
code {
color: inherit;
background: inherit;
}
body {
line-height: 1.4;
background: white;
color: black;
}
a:link {
background: white;
color: blue;
}
a:visited {
background: white;
color: rgb(50%, 0%, 50%);
}
h1 {
background: white;
color: rgb(55%, 55%, 55%);
font-family: monospace;
font-size: 1.4em; /* x-large; */
text-align: center;
}
h2 {
background: white;
color: rgb(40%, 40%, 40%);
font-family: monospace;
font-size: 1.2em; /* large; */
text-align: center;
}
h3 {
background: white;
color: rgb(40%, 40%, 40%);
font-family: monospace;
font-size: 1.2em; /* large; */
}
h4 {
background: white;
color: rgb(40%, 40%, 40%);
font-family: monospace;
font-style: italic;
font-size: 1.2em; /* large; */
}
h5 {
background: white;
color: rgb(40%, 40%, 40%);
font-family: monospace;
}
h6 {
background: white;
color: rgb(40%, 40%, 40%);
font-family: monospace;
font-style: italic;
}
img.toplogo {
width: 4em;
vertical-align: middle;
}
img.arrow {
width: 30px;
height: 30px;
border: 0;
}
span.acronym {
font-size: small;
}
span.env {
font-family: monospace;
}
span.file {
font-family: monospace;
}
span.option{
font-family: monospace;
}
span.pkg {
font-weight: bold;
}
span.samp{
font-family: monospace;
}
div.vignettes a:hover {
background: rgb(85%, 85%, 85%);
}
tr {
vertical-align: top;
}
span.rlang {
font-family: Courier New, Courier;
color: #666666;
}

View file

@ -0,0 +1 @@
{"files":[{"filename":"/00Index.html","start":0,"end":24177},{"filename":"/R.css","start":24177,"end":26021}],"remote_package_size":26021}

View file

@ -0,0 +1,474 @@
cols <- t(col2rgb(palette()))
## One full space1-XYZ-space2 conversion
convertColor(cols, 'sRGB', 'Lab', scale.in=255)
## to XYZ, then to every defined space
XYZ <- convertColor(cols, 'sRGB', 'XYZ', scale.in=255)
fromXYZ <- vapply(
names(colorspaces), convertColor, FUN.VALUE=XYZ,
from='XYZ', color=XYZ, clip=NA
)
round(fromXYZ, 4)
## Back to XYZ, delta to original XYZ should be close to zero
tol <- 1e-5
toXYZ <- vapply(
dimnames(fromXYZ)[[3]],
function(x) all(abs(convertColor(fromXYZ[,,x], from=x, to='XYZ') - XYZ)<tol),
logical(1)
)
toXYZ
stopifnot(all(toXYZ | is.na(toXYZ)))
## Test Apple and CIE RGB on smaller gamuts since they clip
XYZ2 <- XYZ * .7 + .15
fromXYZ2 <- vapply(
c('Apple RGB', 'CIE RGB'), convertColor, FUN.VALUE=XYZ2,
from='XYZ', color=XYZ2, clip=NA
)
round(fromXYZ2, 4)
toXYZ2 <- vapply(
dimnames(fromXYZ2)[[3]],
function(x)
all(abs(convertColor(fromXYZ2[,,x], from=x, to='XYZ') - XYZ2)<tol),
logical(1)
)
stopifnot(all(toXYZ2))
# Seg.fault in R 3.5.3 -- 4.1.1 (but not 3.4.4) -- PR#18183
stopifnot(identical(character(0),
gray(numeric(), alpha=1/2)))
## xy.coords() and xyz.coords() -- gets *classed* warning
tools::assertWarning(xy.coords(-2:10, log = "y"), verbose=TRUE)
op <- options(warn = 2)# ==> warnings are errors
suppressWarnings(xy.coords(-2:10, log = "y"), classes="log_le_0") -> xy
stopifnot(identical(xy$y, c(rep(NA_real_,3), 1:10)))
options(op) # (reverting)
tools::assertWarning(xy.coords(-2:10, log = "y"), verbose=TRUE)
## [Bug 18476] alpha handling in palette functions (23 Feb 2023)
## https://bugs.r-project.org/show_bug.cgi?id=18476
## Attachment 3131 https://bugs.r-project.org/attachment.cgi?id=3131
## and comment #3 by Achim Zeileis
## from attachment #3131 :
check_alpha <- function(colors = "topo.colors", ncolor = 3, nalpha = 3, ...) {
## alpha sequence of length nalpha
alpha <- seq(0, 1, length.out = nalpha)
## generate colors with alpha=...
col1 <- tryCatch(do.call(colors, c(list(n = ncolor, alpha = alpha), list(...))),
error = identity)
if(inherits(col1, "error")) return(FALSE)
## generate colors without alpha= and add manually afterwards
alpha <- format(as.hexmode(round(alpha * 255 + 0.0001)), width = 2L, upper.case = TRUE)
col2 <- paste0(do.call(colors, c(list(n = ncolor), list(...))),
rep_len(alpha, ncolor))
## check whether both strategies yield identical output
identical(col1, col2)
}
expndGrid <- function(...)
expand.grid(..., KEEP.OUT.ATTRS = FALSE, stringsAsFactors = FALSE)
iSamp <- function(n, f=1/4, nS = max(min(n, 24L), f*n), full = interactive())
if(full) seq_len(n) else sample.int(n, nS)
chkALLalpha <- function(d)
vapply(iSamp(nrow(d)), function(i) do.call(check_alpha, d[i,]), NA)
## Check old palettes ------------------
d1 <- expndGrid(colors = c("rainbow", "topo.colors", "terrain.colors",
"heat.colors", "cm.colors", "gray.colors"),
ncolor = c(1, 3, 9, 100),
nalpha = c(2, 3, 9, 100))
table(L <- chkALLalpha(d1)) ## R-4.2.x: 71 FALSE, 25 TRUE -- now 96 TRUE
if(!all(L)) stop("---> not all ok")
## Check the new palettes -----------------
d2 <- expndGrid(colors = "palette.colors",
ncolor = c(1, 3, 7),
nalpha = c(2, 3, 7),
palette = print(palette.pals()))
table(L <- chkALLalpha(d2)) ## R-4.2.x: 64 FALSE, 80 TRUE -- now 144 TRUE
if(!all(L)) stop("---> not all ok")
d3 <- expndGrid(colors = "hcl.colors",
ncolor = c(1, 3, 9, 100),
nalpha = c(2, 3, 9, 100),
palette = print(hcl.pals()))
table(L <- chkALLalpha(d3)) ## R-4.2.x: 1057 FALSE, 783 TRUE -- now 1840 TRUE
if(!all(L)) stop("---> not all ok")
## tests of the fonts in the postscript() device.
testit <- function(family, encoding="default")
{
postscript("ps-tests.ps", height=7, width=7, family=family,
encoding=encoding)
plot(1:10, type="n")
text(5, 9, "Some text")
text(5, 8 , expression(italic("italic")))
text(5, 7 , expression(bold("bold")))
text(5, 6 , expression(bolditalic("bold & italic")))
text(8, 3, expression(paste(frac(1, sigma*sqrt(2*pi)), " ",
plain(e)^{frac(-(x-mu)^2, 2*sigma^2)})))
dev.off()
}
testit("Helvetica")
testit("AvantGarde")
testit("Bookman")
testit("Courier")
testit("Helvetica-Narrow")
testit("NewCenturySchoolbook")
testit("Palatino")
testit("Times")
testit("URWGothic")
testit("URWBookman")
testit("NimbusMon")
testit("NimbusSan")
testit("NimbusSanCond")
testit("CenturySch")
testit("URWPalladio")
testit("NimbusRom")
testit("URWHelvetica")
testit("URWTimes")
testit("ComputerModern", "TeXtext.enc")
unlink("ps-tests.ps")
R Under development (unstable) (2022-03-19 r81942) -- "Unsuffered Consequences"
Copyright (C) 2022 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)
R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.
R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.
Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.
> ## tests of the fonts in the postscript() device.
>
> testit <- function(family, encoding="default")
+ {
+ postscript("ps-tests.ps", height=7, width=7, family=family,
+ encoding=encoding)
+ plot(1:10, type="n")
+ text(5, 9, "Some text")
+ text(5, 8 , expression(italic("italic")))
+ text(5, 7 , expression(bold("bold")))
+ text(5, 6 , expression(bolditalic("bold & italic")))
+ text(8, 3, expression(paste(frac(1, sigma*sqrt(2*pi)), " ",
+ plain(e)^{frac(-(x-mu)^2, 2*sigma^2)})))
+ dev.off()
+ }
>
> testit("Helvetica")
null device
1
> testit("AvantGarde")
null device
1
> testit("Bookman")
null device
1
> testit("Courier")
null device
1
> testit("Helvetica-Narrow")
null device
1
> testit("NewCenturySchoolbook")
null device
1
> testit("Palatino")
null device
1
> testit("Times")
null device
1
>
> testit("URWGothic")
null device
1
> testit("URWBookman")
null device
1
> testit("NimbusMon")
null device
1
> testit("NimbusSan")
null device
1
> testit("NimbusSanCond")
null device
1
> testit("CenturySch")
null device
1
> testit("URWPalladio")
null device
1
> testit("NimbusRom")
null device
1
> testit("URWHelvetica")
null device
1
> testit("URWTimes")
null device
1
>
> testit("ComputerModern", "TeXtext.enc")
null device
1
>
> unlink("ps-tests.ps")
>
> proc.time()
user system elapsed
0.995 0.084 1.062
## From: Winston Chang
## To: R Devel List ...@r-project.org
## Subject: [Rd] recordPlot/replayPlot not working with saveRDS/readRDS
## Date: Mon, 2 Apr 2018 12:23:06 -0500
if (FALSE) { # bitmap png() device is optional for webR
# Save displaylist for a simple plot
png('test.png')
dev.control(displaylist ="enable")
plot(1:5, 1:5)
r <- recordPlot()
dev.off()
# Replay plot. This works.
png('test1.png')
replayPlot(r)
dev.off()
## Save the plot and load it, then replay it (in *same* R session):
## Now works, too
saveRDS(r, 'recordedplot.rds')
r2 <- readRDS('recordedplot.rds')
png('test2.png')
replayPlot(r2)
## Gave Error: NULL value passed as symbol address
dev.off()
## Now check the three PNG graphics files do not differ:
(files <- dir(pattern = "test.*[.]png"))
tt <- lapply(files, readBin, what = "raw", n = 2^12)
lengths(tt)
sapply(tt, head)
stopifnot(
identical(tt[[1]], tt[[2]]),
identical(tt[[3]], tt[[2]]))
}
## tests for the xfig device
xfig("xfig-tests.fig",onefile=TRUE,defaultfont=TRUE,textspecial=TRUE)
xfig("xfig-tests.fig",onefile=TRUE,defaultfont=TRUE,textspecial=FALSE)
xfig("xfig-tests.fig",onefile=TRUE,defaultfont=FALSE,textspecial=TRUE)
xfig("xfig-tests.fig",onefile=TRUE,defaultfont=FALSE,textspecial=FALSE)
unlink("xfig-tests.fig")
## tests for the xfig device
xfig("xfig-tests.fig",onefile=TRUE,defaultfont=TRUE,textspecial=TRUE)
xfig("xfig-tests.fig",onefile=TRUE,defaultfont=TRUE,textspecial=FALSE)
xfig("xfig-tests.fig",onefile=TRUE,defaultfont=FALSE,textspecial=TRUE)
xfig("xfig-tests.fig",onefile=TRUE,defaultfont=FALSE,textspecial=FALSE)
unlink("xfig-tests.fig")
## tests for the xfig device
xfig("xfig-tests.fig",onefile=TRUE,defaultfont=TRUE,textspecial=TRUE)
xfig("xfig-tests.fig",onefile=TRUE,defaultfont=TRUE,textspecial=FALSE)
xfig("xfig-tests.fig",onefile=TRUE,defaultfont=FALSE,textspecial=TRUE)
xfig("xfig-tests.fig",onefile=TRUE,defaultfont=FALSE,textspecial=FALSE)
unlink("xfig-tests.fig")
## tests for the xfig device
xfig("xfig-tests.fig",onefile=TRUE,defaultfont=TRUE,textspecial=TRUE)
xfig("xfig-tests.fig",onefile=TRUE,defaultfont=TRUE,textspecial=FALSE)
xfig("xfig-tests.fig",onefile=TRUE,defaultfont=FALSE,textspecial=TRUE)
xfig("xfig-tests.fig",onefile=TRUE,defaultfont=FALSE,textspecial=FALSE)
unlink("xfig-tests.fig")
## tests for the xfig device
xfig("xfig-tests.fig",onefile=TRUE,defaultfont=TRUE,textspecial=TRUE)
xfig("xfig-tests.fig",onefile=TRUE,defaultfont=TRUE,textspecial=FALSE)
xfig("xfig-tests.fig",onefile=TRUE,defaultfont=FALSE,textspecial=TRUE)
xfig("xfig-tests.fig",onefile=TRUE,defaultfont=FALSE,textspecial=FALSE)
unlink("xfig-tests.fig")
## tests for the xfig device
xfig("xfig-tests.fig",onefile=TRUE,defaultfont=TRUE,textspecial=TRUE)
xfig("xfig-tests.fig",onefile=TRUE,defaultfont=TRUE,textspecial=FALSE)
xfig("xfig-tests.fig",onefile=TRUE,defaultfont=FALSE,textspecial=TRUE)
xfig("xfig-tests.fig",onefile=TRUE,defaultfont=FALSE,textspecial=FALSE)
unlink("xfig-tests.fig")
R Under development (unstable) (2022-03-19 r81942) -- "Unsuffered Consequences"
Copyright (C) 2022 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)
R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.
R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.
Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.
> ## tests for the xfig device
>
>
>
> xfig("xfig-tests.fig",onefile=TRUE,defaultfont=TRUE,textspecial=TRUE)
>
> xfig("xfig-tests.fig",onefile=TRUE,defaultfont=TRUE,textspecial=FALSE)
>
> xfig("xfig-tests.fig",onefile=TRUE,defaultfont=FALSE,textspecial=TRUE)
>
> xfig("xfig-tests.fig",onefile=TRUE,defaultfont=FALSE,textspecial=FALSE)
>
> unlink("xfig-tests.fig")
>
> ## tests for the xfig device
>
>
>
> xfig("xfig-tests.fig",onefile=TRUE,defaultfont=TRUE,textspecial=TRUE)
>
> xfig("xfig-tests.fig",onefile=TRUE,defaultfont=TRUE,textspecial=FALSE)
>
> xfig("xfig-tests.fig",onefile=TRUE,defaultfont=FALSE,textspecial=TRUE)
>
> xfig("xfig-tests.fig",onefile=TRUE,defaultfont=FALSE,textspecial=FALSE)
>
> unlink("xfig-tests.fig")
>
> ## tests for the xfig device
>
>
>
> xfig("xfig-tests.fig",onefile=TRUE,defaultfont=TRUE,textspecial=TRUE)
>
> xfig("xfig-tests.fig",onefile=TRUE,defaultfont=TRUE,textspecial=FALSE)
>
> xfig("xfig-tests.fig",onefile=TRUE,defaultfont=FALSE,textspecial=TRUE)
>
> xfig("xfig-tests.fig",onefile=TRUE,defaultfont=FALSE,textspecial=FALSE)
>
> unlink("xfig-tests.fig")
>
> ## tests for the xfig device
>
>
>
> xfig("xfig-tests.fig",onefile=TRUE,defaultfont=TRUE,textspecial=TRUE)
>
> xfig("xfig-tests.fig",onefile=TRUE,defaultfont=TRUE,textspecial=FALSE)
>
> xfig("xfig-tests.fig",onefile=TRUE,defaultfont=FALSE,textspecial=TRUE)
>
> xfig("xfig-tests.fig",onefile=TRUE,defaultfont=FALSE,textspecial=FALSE)
>
> unlink("xfig-tests.fig")
>
> ## tests for the xfig device
>
>
>
> xfig("xfig-tests.fig",onefile=TRUE,defaultfont=TRUE,textspecial=TRUE)
>
> xfig("xfig-tests.fig",onefile=TRUE,defaultfont=TRUE,textspecial=FALSE)
>
> xfig("xfig-tests.fig",onefile=TRUE,defaultfont=FALSE,textspecial=TRUE)
>
> xfig("xfig-tests.fig",onefile=TRUE,defaultfont=FALSE,textspecial=FALSE)
>
> unlink("xfig-tests.fig")
>
> ## tests for the xfig device
>
>
>
> xfig("xfig-tests.fig",onefile=TRUE,defaultfont=TRUE,textspecial=TRUE)
>
> xfig("xfig-tests.fig",onefile=TRUE,defaultfont=TRUE,textspecial=FALSE)
>
> xfig("xfig-tests.fig",onefile=TRUE,defaultfont=FALSE,textspecial=TRUE)
>
> xfig("xfig-tests.fig",onefile=TRUE,defaultfont=FALSE,textspecial=FALSE)
>
> unlink("xfig-tests.fig")
>
>
> proc.time()
user system elapsed
0.392 0.073 0.446

View file

@ -0,0 +1 @@
{"files":[{"filename":"/convertColor-tests.R","start":0,"end":1131},{"filename":"/grDev-tsts.R","start":1131,"end":1517},{"filename":"/palettes-tests.R","start":1517,"end":3689},{"filename":"/ps-tests.R","start":3689,"end":4661},{"filename":"/ps-tests.Rout.save","start":4661,"end":6932},{"filename":"/saved-recordPlot.R","start":6932,"end":7868},{"filename":"/xfig-tests.R","start":7868,"end":9944},{"filename":"/xfig-tests.Rout.save","start":9944,"end":12915}],"remote_package_size":12915}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1 @@
{"files":[{"filename":"/Hershey.R","start":0,"end":19972},{"filename":"/Japanese.R","start":19972,"end":54491},{"filename":"/graphics.R","start":54491,"end":59530},{"filename":"/image.R","start":59530,"end":60635},{"filename":"/persp.R","start":60635,"end":63426},{"filename":"/plotmath.R","start":63426,"end":72185}],"remote_package_size":72185}

View file

@ -0,0 +1 @@
{"files":[{"filename":"/AnIndex","start":0,"end":2565},{"filename":"/aliases.rds","start":2565,"end":3588},{"filename":"/figures/mai.pdf","start":3588,"end":6129},{"filename":"/figures/mai.png","start":6129,"end":10796},{"filename":"/figures/oma.pdf","start":10796,"end":14559},{"filename":"/figures/oma.png","start":14559,"end":19673},{"filename":"/figures/pch.pdf","start":19673,"end":24667},{"filename":"/figures/pch.png","start":24667,"end":33954},{"filename":"/figures/pch.svg","start":33954,"end":61141},{"filename":"/graphics.rdb","start":61141,"end":538590},{"filename":"/graphics.rdx","start":538590,"end":540247},{"filename":"/paths.rds","start":540247,"end":540902}],"remote_package_size":540902}

View file

@ -0,0 +1,352 @@
<!DOCTYPE html>
<html>
<head><title>R: The R Graphics Package</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
<link rel="stylesheet" type="text/css" href="R.css" />
</head><body><div class="container">
<h1> The R Graphics Package
<img class="toplogo" src="../../../doc/html/Rlogo.svg" alt="[R logo]" />
</h1>
<hr/>
<div style="text-align: center;">
<a href="../../../doc/html/packages.html"><img class="arrow" src="../../../doc/html/left.jpg" alt="[Up]" /></a>
<a href="../../../doc/html/index.html"><img class="arrow" src="../../../doc/html/up.jpg" alt="[Top]" /></a>
</div><h2>Documentation for package &lsquo;graphics&rsquo; version 4.3.0</h2>
<ul><li><a href="../DESCRIPTION">DESCRIPTION file</a>.</li>
<li><a href="../demo">Code demos</a>. Use <a href="../../utils/help/demo">demo()</a> to run them.</li>
</ul>
<h2>Help Pages</h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="graphics-package.html">graphics-package</a></td>
<td>The R Graphics Package</td></tr>
<tr><td style="width: 25%;"><a href="filled.contour.html">.filled.contour</a></td>
<td>Level (Contour) Plots</td></tr>
<tr><td style="width: 25%;"><a href="par.html">.Pars</a></td>
<td>Set or Query Graphical Parameters</td></tr>
<tr><td style="width: 25%;"><a href="abline.html">abline</a></td>
<td>Add Straight Lines to a Plot</td></tr>
<tr><td style="width: 25%;"><a href="arrows.html">arrows</a></td>
<td>Add Arrows to a Plot</td></tr>
<tr><td style="width: 25%;"><a href="plot.window.html">asp</a></td>
<td>Set up World Coordinates for Graphics Window</td></tr>
<tr><td style="width: 25%;"><a href="assocplot.html">assocplot</a></td>
<td>Association Plots</td></tr>
<tr><td style="width: 25%;"><a href="zAxis.html">Axis</a></td>
<td>Generic Function to Add an Axis to a Plot</td></tr>
<tr><td style="width: 25%;"><a href="axis.html">axis</a></td>
<td>Add an Axis to a Plot</td></tr>
<tr><td style="width: 25%;"><a href="axis.POSIXct.html">axis.POSIXct</a></td>
<td>Date and Date-time Plotting Functions</td></tr>
<tr><td style="width: 25%;"><a href="axTicks.html">axTicks</a></td>
<td>Compute Axis Tickmark Locations</td></tr>
<tr><td style="width: 25%;"><a href="barplot.html">barplot</a></td>
<td>Bar Plots</td></tr>
<tr><td style="width: 25%;"><a href="box.html">box</a></td>
<td>Draw a Box around a Plot</td></tr>
<tr><td style="width: 25%;"><a href="boxplot.html">boxplot</a></td>
<td>Box Plots</td></tr>
<tr><td style="width: 25%;"><a href="boxplot.matrix.html">boxplot.matrix</a></td>
<td>Draw a Boxplot for each Column (Row) of a Matrix</td></tr>
<tr><td style="width: 25%;"><a href="bxp.html">bxp</a></td>
<td>Draw Box Plots from Summaries</td></tr>
<tr><td style="width: 25%;"><a href="cdplot.html">cdplot</a></td>
<td>Conditional Density Plots</td></tr>
<tr><td style="width: 25%;"><a href="clip.html">clip</a></td>
<td>Set Clipping Region</td></tr>
<tr><td style="width: 25%;"><a href="screen.html">close.screen</a></td>
<td>Creating and Controlling Multiple Screens on a Single Device</td></tr>
<tr><td style="width: 25%;"><a href="coplot.html">co.intervals</a></td>
<td>Conditioning Plots</td></tr>
<tr><td style="width: 25%;"><a href="contour.html">contour</a></td>
<td>Display Contours</td></tr>
<tr><td style="width: 25%;"><a href="coplot.html">coplot</a></td>
<td>Conditioning Plots</td></tr>
<tr><td style="width: 25%;"><a href="curve.html">curve</a></td>
<td>Draw Function Plots</td></tr>
<tr><td style="width: 25%;"><a href="dotchart.html">dotchart</a></td>
<td>Cleveland's Dot Plots</td></tr>
<tr><td style="width: 25%;"><a href="screen.html">erase.screen</a></td>
<td>Creating and Controlling Multiple Screens on a Single Device</td></tr>
<tr><td style="width: 25%;"><a href="filled.contour.html">filled.contour</a></td>
<td>Level (Contour) Plots</td></tr>
<tr><td style="width: 25%;"><a href="fourfoldplot.html">fourfoldplot</a></td>
<td>Fourfold Plots</td></tr>
<tr><td style="width: 25%;"><a href="frame.html">frame</a></td>
<td>Create / Start a New Plot Frame</td></tr>
<tr><td style="width: 25%;"><a href="par.html">graphical parameter</a></td>
<td>Set or Query Graphical Parameters</td></tr>
<tr><td style="width: 25%;"><a href="par.html">graphical parameters</a></td>
<td>Set or Query Graphical Parameters</td></tr>
<tr><td style="width: 25%;"><a href="graphics-package.html">graphics</a></td>
<td>The R Graphics Package</td></tr>
<tr><td style="width: 25%;"><a href="convertXY.html">grconvertX</a></td>
<td>Convert between Graphics Coordinate Systems</td></tr>
<tr><td style="width: 25%;"><a href="convertXY.html">grconvertY</a></td>
<td>Convert between Graphics Coordinate Systems</td></tr>
<tr><td style="width: 25%;"><a href="grid.html">grid</a></td>
<td>Add Grid to a Plot</td></tr>
<tr><td style="width: 25%;"><a href="hist.html">hist</a></td>
<td>Histograms</td></tr>
<tr><td style="width: 25%;"><a href="hist.POSIXt.html">hist.POSIXt</a></td>
<td>Histogram of a Date or Date-Time Object</td></tr>
<tr><td style="width: 25%;"><a href="identify.html">identify</a></td>
<td>Identify Points in a Scatter Plot</td></tr>
<tr><td style="width: 25%;"><a href="image.html">image</a></td>
<td>Display a Color Image</td></tr>
<tr><td style="width: 25%;"><a href="layout.html">layout</a></td>
<td>Specifying Complex Plot Arrangements</td></tr>
<tr><td style="width: 25%;"><a href="layout.html">lcm</a></td>
<td>Specifying Complex Plot Arrangements</td></tr>
<tr><td style="width: 25%;"><a href="legend.html">legend</a></td>
<td>Add Legends to Plots</td></tr>
<tr><td style="width: 25%;"><a href="lines.html">lines</a></td>
<td>Add Connected Line Segments to a Plot</td></tr>
<tr><td style="width: 25%;"><a href="plot.formula.html">lines.formula</a></td>
<td>Formula Notation for Scatterplots</td></tr>
<tr><td style="width: 25%;"><a href="plothistogram.html">lines.histogram</a></td>
<td>Plot Histograms</td></tr>
<tr><td style="width: 25%;"><a href="plot.table.html">lines.table</a></td>
<td>Plot Methods for 'table' Objects</td></tr>
<tr><td style="width: 25%;"><a href="locator.html">locator</a></td>
<td>Graphical Input</td></tr>
<tr><td style="width: 25%;"><a href="matplot.html">matlines</a></td>
<td>Plot Columns of Matrices</td></tr>
<tr><td style="width: 25%;"><a href="matplot.html">matplot</a></td>
<td>Plot Columns of Matrices</td></tr>
<tr><td style="width: 25%;"><a href="matplot.html">matpoints</a></td>
<td>Plot Columns of Matrices</td></tr>
<tr><td style="width: 25%;"><a href="mosaicplot.html">mosaicplot</a></td>
<td>Mosaic Plots</td></tr>
<tr><td style="width: 25%;"><a href="mtext.html">mtext</a></td>
<td>Write Text into the Margins of a Plot</td></tr>
<tr><td style="width: 25%;"><a href="pairs.html">pairs</a></td>
<td>Scatterplot Matrices</td></tr>
<tr><td style="width: 25%;"><a href="panel.smooth.html">panel.smooth</a></td>
<td>Simple Panel Plot</td></tr>
<tr><td style="width: 25%;"><a href="par.html">par</a></td>
<td>Set or Query Graphical Parameters</td></tr>
<tr><td style="width: 25%;"><a href="points.html">pch</a></td>
<td>Add Points to a Plot</td></tr>
<tr><td style="width: 25%;"><a href="persp.html">persp</a></td>
<td>Perspective Plots</td></tr>
<tr><td style="width: 25%;"><a href="pie.html">pie</a></td>
<td>Pie Charts</td></tr>
<tr><td style="width: 25%;"><a href="plot.dataframe.html">plot.data.frame</a></td>
<td>Plot Method for Data Frames</td></tr>
<tr><td style="width: 25%;"><a href="plot.default.html">plot.default</a></td>
<td>The Default Scatterplot Function</td></tr>
<tr><td style="width: 25%;"><a href="plot.design.html">plot.design</a></td>
<td>Plot Univariate Effects of a Design or Model</td></tr>
<tr><td style="width: 25%;"><a href="plot.factor.html">plot.factor</a></td>
<td>Plotting Factor Variables</td></tr>
<tr><td style="width: 25%;"><a href="plot.formula.html">plot.formula</a></td>
<td>Formula Notation for Scatterplots</td></tr>
<tr><td style="width: 25%;"><a href="curve.html">plot.function</a></td>
<td>Draw Function Plots</td></tr>
<tr><td style="width: 25%;"><a href="plothistogram.html">plot.histogram</a></td>
<td>Plot Histograms</td></tr>
<tr><td style="width: 25%;"><a href="frame.html">plot.new</a></td>
<td>Create / Start a New Plot Frame</td></tr>
<tr><td style="width: 25%;"><a href="plot.raster.html">plot.raster</a></td>
<td>Plotting Raster Images</td></tr>
<tr><td style="width: 25%;"><a href="plot.table.html">plot.table</a></td>
<td>Plot Methods for 'table' Objects</td></tr>
<tr><td style="width: 25%;"><a href="plot.window.html">plot.window</a></td>
<td>Set up World Coordinates for Graphics Window</td></tr>
<tr><td style="width: 25%;"><a href="plot.xy.html">plot.xy</a></td>
<td>Basic Internal Plot Function</td></tr>
<tr><td style="width: 25%;"><a href="points.html">points</a></td>
<td>Add Points to a Plot</td></tr>
<tr><td style="width: 25%;"><a href="plot.formula.html">points.formula</a></td>
<td>Formula Notation for Scatterplots</td></tr>
<tr><td style="width: 25%;"><a href="plot.table.html">points.table</a></td>
<td>Plot Methods for 'table' Objects</td></tr>
<tr><td style="width: 25%;"><a href="polygon.html">polygon</a></td>
<td>Polygon Drawing</td></tr>
<tr><td style="width: 25%;"><a href="polypath.html">polypath</a></td>
<td>Path Drawing</td></tr>
<tr><td style="width: 25%;"><a href="rasterImage.html">rasterImage</a></td>
<td>Draw One or More Raster Images</td></tr>
<tr><td style="width: 25%;"><a href="rect.html">rect</a></td>
<td>Draw One or More Rectangles</td></tr>
<tr><td style="width: 25%;"><a href="rug.html">rug</a></td>
<td>Add a Rug to a Plot</td></tr>
<tr><td style="width: 25%;"><a href="screen.html">screen</a></td>
<td>Creating and Controlling Multiple Screens on a Single Device</td></tr>
<tr><td style="width: 25%;"><a href="segments.html">segments</a></td>
<td>Add Line Segments to a Plot</td></tr>
<tr><td style="width: 25%;"><a href="smoothScatter.html">smoothScatter</a></td>
<td>Scatterplots with Smoothed Densities Color Representation</td></tr>
<tr><td style="width: 25%;"><a href="spineplot.html">spineplot</a></td>
<td>Spine Plots and Spinograms</td></tr>
<tr><td style="width: 25%;"><a href="screen.html">split.screen</a></td>
<td>Creating and Controlling Multiple Screens on a Single Device</td></tr>
<tr><td style="width: 25%;"><a href="stars.html">stars</a></td>
<td>Star (Spider/Radar) Plots and Segment Diagrams</td></tr>
<tr><td style="width: 25%;"><a href="stem.html">stem</a></td>
<td>Stem-and-Leaf Plots</td></tr>
<tr><td style="width: 25%;"><a href="strwidth.html">strheight</a></td>
<td>Plotting Dimensions of Character Strings and Math Expressions</td></tr>
<tr><td style="width: 25%;"><a href="stripchart.html">stripchart</a></td>
<td>1-D Scatter Plots</td></tr>
<tr><td style="width: 25%;"><a href="strwidth.html">strwidth</a></td>
<td>Plotting Dimensions of Character Strings and Math Expressions</td></tr>
<tr><td style="width: 25%;"><a href="sunflowerplot.html">sunflowerplot</a></td>
<td>Produce a Sunflower Scatter Plot</td></tr>
<tr><td style="width: 25%;"><a href="symbols.html">symbols</a></td>
<td>Draw Symbols (Circles, Squares, Stars, Thermometers, Boxplots)</td></tr>
<tr><td style="width: 25%;"><a href="text.html">text</a></td>
<td>Add Text to a Plot</td></tr>
<tr><td style="width: 25%;"><a href="plot.formula.html">text.formula</a></td>
<td>Formula Notation for Scatterplots</td></tr>
<tr><td style="width: 25%;"><a href="title.html">title</a></td>
<td>Plot Annotation</td></tr>
<tr><td style="width: 25%;"><a href="units.html">xinch</a></td>
<td>Graphical Units</td></tr>
<tr><td style="width: 25%;"><a href="plot.window.html">xlim</a></td>
<td>Set up World Coordinates for Graphics Window</td></tr>
<tr><td style="width: 25%;"><a href="xspline.html">xspline</a></td>
<td>Draw an X-spline</td></tr>
<tr><td style="width: 25%;"><a href="units.html">xyinch</a></td>
<td>Graphical Units</td></tr>
<tr><td style="width: 25%;"><a href="units.html">yinch</a></td>
<td>Graphical Units</td></tr>
<tr><td style="width: 25%;"><a href="plot.window.html">ylim</a></td>
<td>Set up World Coordinates for Graphics Window</td></tr>
</table>
</div></body></html>
@media screen {
.container {
padding-right: 10px;
padding-left: 10px;
margin-right: auto;
margin-left: auto;
max-width: 900px;
}
}
.rimage img { /* from knitr - for examples and demos */
width: 96%;
margin-left: 2%;
}
.katex { font-size: 1.1em; }
code {
color: inherit;
background: inherit;
}
body {
line-height: 1.4;
background: white;
color: black;
}
a:link {
background: white;
color: blue;
}
a:visited {
background: white;
color: rgb(50%, 0%, 50%);
}
h1 {
background: white;
color: rgb(55%, 55%, 55%);
font-family: monospace;
font-size: 1.4em; /* x-large; */
text-align: center;
}
h2 {
background: white;
color: rgb(40%, 40%, 40%);
font-family: monospace;
font-size: 1.2em; /* large; */
text-align: center;
}
h3 {
background: white;
color: rgb(40%, 40%, 40%);
font-family: monospace;
font-size: 1.2em; /* large; */
}
h4 {
background: white;
color: rgb(40%, 40%, 40%);
font-family: monospace;
font-style: italic;
font-size: 1.2em; /* large; */
}
h5 {
background: white;
color: rgb(40%, 40%, 40%);
font-family: monospace;
}
h6 {
background: white;
color: rgb(40%, 40%, 40%);
font-family: monospace;
font-style: italic;
}
img.toplogo {
width: 4em;
vertical-align: middle;
}
img.arrow {
width: 30px;
height: 30px;
border: 0;
}
span.acronym {
font-size: small;
}
span.env {
font-family: monospace;
}
span.file {
font-family: monospace;
}
span.option{
font-family: monospace;
}
span.pkg {
font-weight: bold;
}
span.samp{
font-family: monospace;
}
div.vignettes a:hover {
background: rgb(85%, 85%, 85%);
}
tr {
vertical-align: top;
}
span.rlang {
font-family: Courier New, Courier;
color: #666666;
}

View file

@ -0,0 +1 @@
{"files":[{"filename":"/00Index.html","start":0,"end":12159},{"filename":"/R.css","start":12159,"end":14003}],"remote_package_size":14003}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1 @@
{"files":[{"filename":"/DivByZero.txt","start":0,"end":2211},{"filename":"/changes.txt","start":2211,"end":64446},{"filename":"/displaylist.pdf","start":64446,"end":120524},{"filename":"/frame.pdf","start":120524,"end":183018},{"filename":"/grid.pdf","start":183018,"end":286625},{"filename":"/grobs.pdf","start":286625,"end":337960},{"filename":"/interactive.pdf","start":337960,"end":366443},{"filename":"/locndimn.pdf","start":366443,"end":398458},{"filename":"/moveline.pdf","start":398458,"end":427697},{"filename":"/nonfinite.pdf","start":427697,"end":454272},{"filename":"/plotexample.pdf","start":454272,"end":559088},{"filename":"/rotated.pdf","start":559088,"end":611710},{"filename":"/saveload.pdf","start":611710,"end":649052},{"filename":"/sharing.pdf","start":649052,"end":676393},{"filename":"/viewports.pdf","start":676393,"end":742984}],"remote_package_size":742984}

View file

@ -0,0 +1 @@
{"files":[{"filename":"/AnIndex","start":0,"end":6348},{"filename":"/aliases.rds","start":6348,"end":8394},{"filename":"/grid.rdb","start":8394,"end":320940},{"filename":"/grid.rdx","start":320940,"end":323171},{"filename":"/paths.rds","start":323171,"end":324040}],"remote_package_size":324040}

View file

@ -0,0 +1,778 @@
<!DOCTYPE html>
<html>
<head><title>R: The Grid Graphics Package</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
<link rel="stylesheet" type="text/css" href="R.css" />
</head><body><div class="container">
<h1> The Grid Graphics Package
<img class="toplogo" src="../../../doc/html/Rlogo.svg" alt="[R logo]" />
</h1>
<hr/>
<div style="text-align: center;">
<a href="../../../doc/html/packages.html"><img class="arrow" src="../../../doc/html/left.jpg" alt="[Up]" /></a>
<a href="../../../doc/html/index.html"><img class="arrow" src="../../../doc/html/up.jpg" alt="[Top]" /></a>
</div><h2>Documentation for package &lsquo;grid&rsquo; version 4.3.0</h2>
<ul><li><a href="../DESCRIPTION">DESCRIPTION file</a>.</li>
<li><a href="../doc/index.html">User guides, package vignettes and other documentation.</a></li>
</ul>
<h2>Help Pages</h2>
<p style="text-align: center;">
<a href="# "> </a>
<a href="#A">A</a>
<a href="#B">B</a>
<a href="#C">C</a>
<a href="#D">D</a>
<a href="#E">E</a>
<a href="#F">F</a>
<a href="#G">G</a>
<a href="#H">H</a>
<a href="#I">I</a>
<a href="#L">L</a>
<a href="#M">M</a>
<a href="#N">N</a>
<a href="#P">P</a>
<a href="#R">R</a>
<a href="#S">S</a>
<a href="#T">T</a>
<a href="#U">U</a>
<a href="#V">V</a>
<a href="#W">W</a>
<a href="#X">X</a>
<a href="#Y">Y</a>
</p>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="grid-package.html">grid-package</a></td>
<td>The Grid Graphics Package</td></tr>
</table>
<h2><a id="A">-- A --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="absolute.size.html">absolute.size</a></td>
<td>Absolute Size of a Grob</td></tr>
<tr><td style="width: 25%;"><a href="grid.add.html">addGrob</a></td>
<td>Add a Grid Graphical Object</td></tr>
<tr><td style="width: 25%;"><a href="gEdit.html">applyEdit</a></td>
<td>Create and Apply Edit Objects</td></tr>
<tr><td style="width: 25%;"><a href="gEdit.html">applyEdits</a></td>
<td>Create and Apply Edit Objects</td></tr>
<tr><td style="width: 25%;"><a href="grid.curve.html">arcCurvature</a></td>
<td>Draw a Curve Between Locations</td></tr>
<tr><td style="width: 25%;"><a href="arrow.html">arrow</a></td>
<td>Describe arrows to add to a line.</td></tr>
<tr><td style="width: 25%;"><a href="as.mask.html">as.mask</a></td>
<td>Define a Soft Mask</td></tr>
<tr><td style="width: 25%;"><a href="grid.stroke.html">as.path</a></td>
<td>Stroke or Fill a Path</td></tr>
<tr><td style="width: 25%;"><a href="widthDetails.html">ascentDetails</a></td>
<td>Width and Height of a grid grob</td></tr>
</table>
<h2><a id="B">-- B --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="grid.bezier.html">bezierGrob</a></td>
<td>Draw a Bezier Curve</td></tr>
<tr><td style="width: 25%;"><a href="xsplinePoints.html">bezierPoints</a></td>
<td>Return the points that would be used to draw an Xspline (or a Bezier curve).</td></tr>
</table>
<h2><a id="C">-- C --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="calcStringMetric.html">calcStringMetric</a></td>
<td>Calculate Metric Information for Text</td></tr>
<tr><td style="width: 25%;"><a href="grid.grob.html">childNames</a></td>
<td>Create Grid Graphical Objects, aka "Grob"s</td></tr>
<tr><td style="width: 25%;"><a href="grid.circle.html">circleGrob</a></td>
<td>Draw a Circle</td></tr>
<tr><td style="width: 25%;"><a href="grid.clip.html">clipGrob</a></td>
<td>Set the Clipping Region</td></tr>
<tr><td style="width: 25%;"><a href="grid.convert.html">convertHeight</a></td>
<td>Convert Between Different grid Coordinate Systems</td></tr>
<tr><td style="width: 25%;"><a href="grid.convert.html">convertUnit</a></td>
<td>Convert Between Different grid Coordinate Systems</td></tr>
<tr><td style="width: 25%;"><a href="grid.convert.html">convertWidth</a></td>
<td>Convert Between Different grid Coordinate Systems</td></tr>
<tr><td style="width: 25%;"><a href="grid.convert.html">convertX</a></td>
<td>Convert Between Different grid Coordinate Systems</td></tr>
<tr><td style="width: 25%;"><a href="grid.convert.html">convertY</a></td>
<td>Convert Between Different grid Coordinate Systems</td></tr>
<tr><td style="width: 25%;"><a href="current.viewport.html">current.parent</a></td>
<td>Get the Current Grid Viewport (Tree)</td></tr>
<tr><td style="width: 25%;"><a href="current.viewport.html">current.rotation</a></td>
<td>Get the Current Grid Viewport (Tree)</td></tr>
<tr><td style="width: 25%;"><a href="current.viewport.html">current.transform</a></td>
<td>Get the Current Grid Viewport (Tree)</td></tr>
<tr><td style="width: 25%;"><a href="current.viewport.html">current.viewport</a></td>
<td>Get the Current Grid Viewport (Tree)</td></tr>
<tr><td style="width: 25%;"><a href="current.viewport.html">current.vpPath</a></td>
<td>Get the Current Grid Viewport (Tree)</td></tr>
<tr><td style="width: 25%;"><a href="current.viewport.html">current.vpTree</a></td>
<td>Get the Current Grid Viewport (Tree)</td></tr>
<tr><td style="width: 25%;"><a href="grid.curve.html">curveGrob</a></td>
<td>Draw a Curve Between Locations</td></tr>
</table>
<h2><a id="D">-- D --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="dataViewport.html">dataViewport</a></td>
<td>Create a Viewport with Scales based on Data</td></tr>
<tr><td style="width: 25%;"><a href="grid.group.html">defineGrob</a></td>
<td>Draw a Group</td></tr>
<tr><td style="width: 25%;"><a href="viewportTransform.html">defnRotate</a></td>
<td>Define a Group Transformation</td></tr>
<tr><td style="width: 25%;"><a href="viewportTransform.html">defnScale</a></td>
<td>Define a Group Transformation</td></tr>
<tr><td style="width: 25%;"><a href="viewportTransform.html">defnTranslate</a></td>
<td>Define a Group Transformation</td></tr>
<tr><td style="width: 25%;"><a href="grid.delay.html">delayGrob</a></td>
<td>Encapsulate calculations and generating a grob</td></tr>
<tr><td style="width: 25%;"><a href="depth.html">depth</a></td>
<td>Determine the number of levels in an object.</td></tr>
<tr><td style="width: 25%;"><a href="depth.html">depth.path</a></td>
<td>Determine the number of levels in an object.</td></tr>
<tr><td style="width: 25%;"><a href="depth.html">depth.viewport</a></td>
<td>Determine the number of levels in an object.</td></tr>
<tr><td style="width: 25%;"><a href="widthDetails.html">descentDetails</a></td>
<td>Width and Height of a grid grob</td></tr>
<tr><td style="width: 25%;"><a href="deviceLoc.html">deviceDim</a></td>
<td>Convert Viewport Location to Device Location</td></tr>
<tr><td style="width: 25%;"><a href="deviceLoc.html">deviceLoc</a></td>
<td>Convert Viewport Location to Device Location</td></tr>
<tr><td style="width: 25%;"><a href="viewports.html">downViewport</a></td>
<td>Maintaining and Navigating the Grid Viewport Tree</td></tr>
<tr><td style="width: 25%;"><a href="drawDetails.html">drawDetails</a></td>
<td>Customising grid Drawing</td></tr>
</table>
<h2><a id="E">-- E --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="editDetails.html">editDetails</a></td>
<td>Customising grid Editing</td></tr>
<tr><td style="width: 25%;"><a href="grid.edit.html">editGrob</a></td>
<td>Edit the Description of a Grid Graphical Object</td></tr>
<tr><td style="width: 25%;"><a href="editViewport.html">editViewport</a></td>
<td>Modify a Viewport</td></tr>
<tr><td style="width: 25%;"><a href="gridCoords.html">emptyCoords</a></td>
<td>Create Sets of Coordinates for Grid Grobs</td></tr>
<tr><td style="width: 25%;"><a href="gridCoords.html">emptyGrobCoords</a></td>
<td>Create Sets of Coordinates for Grid Grobs</td></tr>
<tr><td style="width: 25%;"><a href="gridCoords.html">emptyGTreeCoords</a></td>
<td>Create Sets of Coordinates for Grid Grobs</td></tr>
<tr><td style="width: 25%;"><a href="grid.display.list.html">engine.display.list</a></td>
<td>Control the Grid Display List</td></tr>
<tr><td style="width: 25%;"><a href="explode.html">explode</a></td>
<td>Explode a path into its components.</td></tr>
<tr><td style="width: 25%;"><a href="explode.html">explode.character</a></td>
<td>Explode a path into its components.</td></tr>
<tr><td style="width: 25%;"><a href="explode.html">explode.path</a></td>
<td>Explode a path into its components.</td></tr>
</table>
<h2><a id="F">-- F --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="grid.stroke.html">fillGrob</a></td>
<td>Stroke or Fill a Path</td></tr>
<tr><td style="width: 25%;"><a href="grid.stroke.html">fillGrob.GridPath</a></td>
<td>Stroke or Fill a Path</td></tr>
<tr><td style="width: 25%;"><a href="grid.stroke.html">fillGrob.grob</a></td>
<td>Stroke or Fill a Path</td></tr>
<tr><td style="width: 25%;"><a href="grid.stroke.html">fillStrokeGrob</a></td>
<td>Stroke or Fill a Path</td></tr>
<tr><td style="width: 25%;"><a href="grid.stroke.html">fillStrokeGrob.GridPath</a></td>
<td>Stroke or Fill a Path</td></tr>
<tr><td style="width: 25%;"><a href="grid.stroke.html">fillStrokeGrob.grob</a></td>
<td>Stroke or Fill a Path</td></tr>
<tr><td style="width: 25%;"><a href="grid.force.html">forceGrob</a></td>
<td>Force a grob into its components</td></tr>
<tr><td style="width: 25%;"><a href="grid.frame.html">frameGrob</a></td>
<td>Create a Frame for Packing Objects</td></tr>
<tr><td style="width: 25%;"><a href="grid.function.html">functionGrob</a></td>
<td>Draw a curve representing a function</td></tr>
</table>
<h2><a id="G">-- G --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="gEdit.html">gEdit</a></td>
<td>Create and Apply Edit Objects</td></tr>
<tr><td style="width: 25%;"><a href="gEdit.html">gEditList</a></td>
<td>Create and Apply Edit Objects</td></tr>
<tr><td style="width: 25%;"><a href="gpar.html">get.gpar</a></td>
<td>Handling Grid Graphical Parameters</td></tr>
<tr><td style="width: 25%;"><a href="grid.get.html">getGrob</a></td>
<td>Get a Grid Graphical Object</td></tr>
<tr><td style="width: 25%;"><a href="getNames.html">getNames</a></td>
<td>List the names of grobs on the display list</td></tr>
<tr><td style="width: 25%;"><a href="grid.grob.html">gList</a></td>
<td>Create Grid Graphical Objects, aka "Grob"s</td></tr>
<tr><td style="width: 25%;"><a href="grid.glyph.html">glyphGrob</a></td>
<td>Draw Typeset Glyphs</td></tr>
<tr><td style="width: 25%;"><a href="gpar.html">gpar</a></td>
<td>Handling Grid Graphical Parameters</td></tr>
<tr><td style="width: 25%;"><a href="gPath.html">gPath</a></td>
<td>Concatenate Grob Names</td></tr>
<tr><td style="width: 25%;"><a href="Grid.html">Grid</a></td>
<td>Grid Graphics</td></tr>
<tr><td style="width: 25%;"><a href="grid.function.html">grid.abline</a></td>
<td>Draw a curve representing a function</td></tr>
<tr><td style="width: 25%;"><a href="grid.add.html">grid.add</a></td>
<td>Add a Grid Graphical Object</td></tr>
<tr><td style="width: 25%;"><a href="grid.bezier.html">grid.bezier</a></td>
<td>Draw a Bezier Curve</td></tr>
<tr><td style="width: 25%;"><a href="grid.cap.html">grid.cap</a></td>
<td>Capture a raster image</td></tr>
<tr><td style="width: 25%;"><a href="grid.circle.html">grid.circle</a></td>
<td>Draw a Circle</td></tr>
<tr><td style="width: 25%;"><a href="grid.clip.html">grid.clip</a></td>
<td>Set the Clipping Region</td></tr>
<tr><td style="width: 25%;"><a href="grid.copy.html">grid.copy</a></td>
<td>Make a Copy of a Grid Graphical Object</td></tr>
<tr><td style="width: 25%;"><a href="grid.curve.html">grid.curve</a></td>
<td>Draw a Curve Between Locations</td></tr>
<tr><td style="width: 25%;"><a href="grid.group.html">grid.define</a></td>
<td>Draw a Group</td></tr>
<tr><td style="width: 25%;"><a href="grid.delay.html">grid.delay</a></td>
<td>Encapsulate calculations and generating a grob</td></tr>
<tr><td style="width: 25%;"><a href="grid.display.list.html">grid.display.list</a></td>
<td>Control the Grid Display List</td></tr>
<tr><td style="width: 25%;"><a href="grid.DLapply.html">grid.DLapply</a></td>
<td>Modify the Grid Display List</td></tr>
<tr><td style="width: 25%;"><a href="grid.draw.html">grid.draw</a></td>
<td>Draw a grid grob</td></tr>
<tr><td style="width: 25%;"><a href="grid.edit.html">grid.edit</a></td>
<td>Edit the Description of a Grid Graphical Object</td></tr>
<tr><td style="width: 25%;"><a href="grid.stroke.html">grid.fill</a></td>
<td>Stroke or Fill a Path</td></tr>
<tr><td style="width: 25%;"><a href="grid.stroke.html">grid.fillStroke</a></td>
<td>Stroke or Fill a Path</td></tr>
<tr><td style="width: 25%;"><a href="grid.force.html">grid.force</a></td>
<td>Force a grob into its components</td></tr>
<tr><td style="width: 25%;"><a href="grid.force.html">grid.force.default</a></td>
<td>Force a grob into its components</td></tr>
<tr><td style="width: 25%;"><a href="grid.force.html">grid.force.gPath</a></td>
<td>Force a grob into its components</td></tr>
<tr><td style="width: 25%;"><a href="grid.force.html">grid.force.grob</a></td>
<td>Force a grob into its components</td></tr>
<tr><td style="width: 25%;"><a href="grid.frame.html">grid.frame</a></td>
<td>Create a Frame for Packing Objects</td></tr>
<tr><td style="width: 25%;"><a href="grid.function.html">grid.function</a></td>
<td>Draw a curve representing a function</td></tr>
<tr><td style="width: 25%;"><a href="grid.edit.html">grid.gedit</a></td>
<td>Edit the Description of a Grid Graphical Object</td></tr>
<tr><td style="width: 25%;"><a href="grid.get.html">grid.get</a></td>
<td>Get a Grid Graphical Object</td></tr>
<tr><td style="width: 25%;"><a href="grid.get.html">grid.gget</a></td>
<td>Get a Grid Graphical Object</td></tr>
<tr><td style="width: 25%;"><a href="grid.glyph.html">grid.glyph</a></td>
<td>Draw Typeset Glyphs</td></tr>
<tr><td style="width: 25%;"><a href="grid.grab.html">grid.grab</a></td>
<td>Grab the current grid output</td></tr>
<tr><td style="width: 25%;"><a href="grid.grab.html">grid.grabExpr</a></td>
<td>Grab the current grid output</td></tr>
<tr><td style="width: 25%;"><a href="grid.remove.html">grid.gremove</a></td>
<td>Remove a Grid Graphical Object</td></tr>
<tr><td style="width: 25%;"><a href="grid.grep.html">grid.grep</a></td>
<td>Search for Grobs and/or Viewports</td></tr>
<tr><td style="width: 25%;"><a href="grid.grill.html">grid.grill</a></td>
<td>Draw a Grill</td></tr>
<tr><td style="width: 25%;"><a href="grid.group.html">grid.group</a></td>
<td>Draw a Group</td></tr>
<tr><td style="width: 25%;"><a href="grid.layout.html">grid.layout</a></td>
<td>Create a Grid Layout</td></tr>
<tr><td style="width: 25%;"><a href="legendGrob.html">grid.legend</a></td>
<td>Constructing a Legend Grob</td></tr>
<tr><td style="width: 25%;"><a href="grid.move.to.html">grid.line.to</a></td>
<td>Move or Draw to a Specified Position</td></tr>
<tr><td style="width: 25%;"><a href="grid.lines.html">grid.lines</a></td>
<td>Draw Lines in a Grid Viewport</td></tr>
<tr><td style="width: 25%;"><a href="grid.locator.html">grid.locator</a></td>
<td>Capture a Mouse Click</td></tr>
<tr><td style="width: 25%;"><a href="grid.ls.html">grid.ls</a></td>
<td>List the names of grobs or viewports</td></tr>
<tr><td style="width: 25%;"><a href="grid.move.to.html">grid.move.to</a></td>
<td>Move or Draw to a Specified Position</td></tr>
<tr><td style="width: 25%;"><a href="grid.newpage.html">grid.newpage</a></td>
<td>Move to a New Page on a Grid Device</td></tr>
<tr><td style="width: 25%;"><a href="grid.null.html">grid.null</a></td>
<td>Null Graphical Object</td></tr>
<tr><td style="width: 25%;"><a href="grid.pack.html">grid.pack</a></td>
<td>Pack an Object within a Frame</td></tr>
<tr><td style="width: 25%;"><a href="grid.path.html">grid.path</a></td>
<td>Draw a Path</td></tr>
<tr><td style="width: 25%;"><a href="grid.place.html">grid.place</a></td>
<td>Place an Object within a Frame</td></tr>
<tr><td style="width: 25%;"><a href="grid.plot.and.legend.html">grid.plot.and.legend</a></td>
<td>A Simple Plot and Legend Demo</td></tr>
<tr><td style="width: 25%;"><a href="grid.points.html">grid.points</a></td>
<td>Draw Data Symbols</td></tr>
<tr><td style="width: 25%;"><a href="grid.polygon.html">grid.polygon</a></td>
<td>Draw a Polygon</td></tr>
<tr><td style="width: 25%;"><a href="grid.lines.html">grid.polyline</a></td>
<td>Draw Lines in a Grid Viewport</td></tr>
<tr><td style="width: 25%;"><a href="grid.pretty.html">grid.pretty</a></td>
<td>Generate a Sensible ("Pretty") Set of Breakpoints</td></tr>
<tr><td style="width: 25%;"><a href="grid.raster.html">grid.raster</a></td>
<td>Render a raster object</td></tr>
<tr><td style="width: 25%;"><a href="grid.record.html">grid.record</a></td>
<td>Encapsulate calculations and drawing</td></tr>
<tr><td style="width: 25%;"><a href="grid.rect.html">grid.rect</a></td>
<td>Draw rectangles</td></tr>
<tr><td style="width: 25%;"><a href="grid.refresh.html">grid.refresh</a></td>
<td>Refresh the current grid scene</td></tr>
<tr><td style="width: 25%;"><a href="grid.remove.html">grid.remove</a></td>
<td>Remove a Grid Graphical Object</td></tr>
<tr><td style="width: 25%;"><a href="grid.reorder.html">grid.reorder</a></td>
<td>Reorder the children of a gTree</td></tr>
<tr><td style="width: 25%;"><a href="grid.force.html">grid.revert</a></td>
<td>Force a grob into its components</td></tr>
<tr><td style="width: 25%;"><a href="grid.force.html">grid.revert.gPath</a></td>
<td>Force a grob into its components</td></tr>
<tr><td style="width: 25%;"><a href="grid.force.html">grid.revert.grob</a></td>
<td>Force a grob into its components</td></tr>
<tr><td style="width: 25%;"><a href="grid.roundrect.html">grid.roundrect</a></td>
<td>Draw a rectangle with rounded corners</td></tr>
<tr><td style="width: 25%;"><a href="grid.segments.html">grid.segments</a></td>
<td>Draw Line Segments</td></tr>
<tr><td style="width: 25%;"><a href="grid.set.html">grid.set</a></td>
<td>Set a Grid Graphical Object</td></tr>
<tr><td style="width: 25%;"><a href="grid.show.layout.html">grid.show.layout</a></td>
<td>Draw a Diagram of a Grid Layout</td></tr>
<tr><td style="width: 25%;"><a href="grid.show.viewport.html">grid.show.viewport</a></td>
<td>Draw a Diagram of a Grid Viewport</td></tr>
<tr><td style="width: 25%;"><a href="grid.stroke.html">grid.stroke</a></td>
<td>Stroke or Fill a Path</td></tr>
<tr><td style="width: 25%;"><a href="grid.text.html">grid.text</a></td>
<td>Draw Text</td></tr>
<tr><td style="width: 25%;"><a href="grid.group.html">grid.use</a></td>
<td>Draw a Group</td></tr>
<tr><td style="width: 25%;"><a href="grid.xaxis.html">grid.xaxis</a></td>
<td>Draw an X-Axis</td></tr>
<tr><td style="width: 25%;"><a href="grid.xspline.html">grid.xspline</a></td>
<td>Draw an Xspline</td></tr>
<tr><td style="width: 25%;"><a href="grid.yaxis.html">grid.yaxis</a></td>
<td>Draw a Y-Axis</td></tr>
<tr><td style="width: 25%;"><a href="gridCoords.html">gridCoords</a></td>
<td>Create Sets of Coordinates for Grid Grobs</td></tr>
<tr><td style="width: 25%;"><a href="gridCoords.html">gridGrobCoords</a></td>
<td>Create Sets of Coordinates for Grid Grobs</td></tr>
<tr><td style="width: 25%;"><a href="gridCoords.html">gridGTreeCoords</a></td>
<td>Create Sets of Coordinates for Grid Grobs</td></tr>
<tr><td style="width: 25%;"><a href="grid.grob.html">grob</a></td>
<td>Create Grid Graphical Objects, aka "Grob"s</td></tr>
<tr><td style="width: 25%;"><a href="grobWidth.html">grobAscent</a></td>
<td>Create a Unit Describing the Width of a Grob</td></tr>
<tr><td style="width: 25%;"><a href="grobCoords.html">grobCoords</a></td>
<td>Calculate Points on the Perimeter of a Grob</td></tr>
<tr><td style="width: 25%;"><a href="grobWidth.html">grobDescent</a></td>
<td>Create a Unit Describing the Width of a Grob</td></tr>
<tr><td style="width: 25%;"><a href="grobWidth.html">grobHeight</a></td>
<td>Create a Unit Describing the Width of a Grob</td></tr>
<tr><td style="width: 25%;"><a href="grobName.html">grobName</a></td>
<td>Generate a Name for a Grob</td></tr>
<tr><td style="width: 25%;"><a href="grid.ls.html">grobPathListing</a></td>
<td>List the names of grobs or viewports</td></tr>
<tr><td style="width: 25%;"><a href="grobCoords.html">grobPoints</a></td>
<td>Calculate Points on the Perimeter of a Grob</td></tr>
<tr><td style="width: 25%;"><a href="grid.grob.html">grobTree</a></td>
<td>Create Grid Graphical Objects, aka "Grob"s</td></tr>
<tr><td style="width: 25%;"><a href="grobWidth.html">grobWidth</a></td>
<td>Create a Unit Describing the Width of a Grob</td></tr>
<tr><td style="width: 25%;"><a href="grobX.html">grobX</a></td>
<td>Create a Unit Describing a Grob Boundary Location</td></tr>
<tr><td style="width: 25%;"><a href="grobX.html">grobY</a></td>
<td>Create a Unit Describing a Grob Boundary Location</td></tr>
<tr><td style="width: 25%;"><a href="viewportTransform.html">groupFlip</a></td>
<td>Define a Group Transformation</td></tr>
<tr><td style="width: 25%;"><a href="grid.group.html">groupGrob</a></td>
<td>Draw a Group</td></tr>
<tr><td style="width: 25%;"><a href="viewportTransform.html">groupRotate</a></td>
<td>Define a Group Transformation</td></tr>
<tr><td style="width: 25%;"><a href="viewportTransform.html">groupScale</a></td>
<td>Define a Group Transformation</td></tr>
<tr><td style="width: 25%;"><a href="viewportTransform.html">groupShear</a></td>
<td>Define a Group Transformation</td></tr>
<tr><td style="width: 25%;"><a href="viewportTransform.html">groupTranslate</a></td>
<td>Define a Group Transformation</td></tr>
<tr><td style="width: 25%;"><a href="grid.grob.html">gTree</a></td>
<td>Create Grid Graphical Objects, aka "Grob"s</td></tr>
</table>
<h2><a id="H">-- H --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="widthDetails.html">heightDetails</a></td>
<td>Width and Height of a grid grob</td></tr>
</table>
<h2><a id="I">-- I --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="grid.grob.html">is.grob</a></td>
<td>Create Grid Graphical Objects, aka "Grob"s</td></tr>
<tr><td style="width: 25%;"><a href="unit.html">is.unit</a></td>
<td>Function to Create a Unit Object</td></tr>
<tr><td style="width: 25%;"><a href="grobCoords.html">isClosed</a></td>
<td>Calculate Points on the Perimeter of a Grob</td></tr>
<tr><td style="width: 25%;"><a href="gridCoords.html">isEmptyCoords</a></td>
<td>Create Sets of Coordinates for Grid Grobs</td></tr>
</table>
<h2><a id="L">-- L --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="legendGrob.html">legendGrob</a></td>
<td>Constructing a Legend Grob</td></tr>
<tr><td style="width: 25%;"><a href="patterns.html">linearGradient</a></td>
<td>Define Gradient and Pattern Fills</td></tr>
<tr><td style="width: 25%;"><a href="grid.lines.html">linesGrob</a></td>
<td>Draw Lines in a Grid Viewport</td></tr>
<tr><td style="width: 25%;"><a href="grid.move.to.html">lineToGrob</a></td>
<td>Move or Draw to a Specified Position</td></tr>
</table>
<h2><a id="M">-- M --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="makeContent.html">makeContent</a></td>
<td>Customised grid Grobs</td></tr>
<tr><td style="width: 25%;"><a href="makeContent.html">makeContext</a></td>
<td>Customised grid Grobs</td></tr>
<tr><td style="width: 25%;"><a href="grid.move.to.html">moveToGrob</a></td>
<td>Move or Draw to a Specified Position</td></tr>
</table>
<h2><a id="N">-- N --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="grid.ls.html">nestedListing</a></td>
<td>List the names of grobs or viewports</td></tr>
<tr><td style="width: 25%;"><a href="grid.null.html">nullGrob</a></td>
<td>Null Graphical Object</td></tr>
</table>
<h2><a id="P">-- P --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="grid.pack.html">packGrob</a></td>
<td>Pack an Object within a Frame</td></tr>
<tr><td style="width: 25%;"><a href="grid.path.html">pathGrob</a></td>
<td>Draw a Path</td></tr>
<tr><td style="width: 25%;"><a href="grid.ls.html">pathListing</a></td>
<td>List the names of grobs or viewports</td></tr>
<tr><td style="width: 25%;"><a href="patterns.html">pattern</a></td>
<td>Define Gradient and Pattern Fills</td></tr>
<tr><td style="width: 25%;"><a href="patterns.html">patterns</a></td>
<td>Define Gradient and Pattern Fills</td></tr>
<tr><td style="width: 25%;"><a href="grid.place.html">placeGrob</a></td>
<td>Place an Object within a Frame</td></tr>
<tr><td style="width: 25%;"><a href="plotViewport.html">plotViewport</a></td>
<td>Create a Viewport with a Standard Plot Layout</td></tr>
<tr><td style="width: 25%;"><a href="grid.points.html">pointsGrob</a></td>
<td>Draw Data Symbols</td></tr>
<tr><td style="width: 25%;"><a href="grid.polygon.html">polygonGrob</a></td>
<td>Draw a Polygon</td></tr>
<tr><td style="width: 25%;"><a href="grid.lines.html">polylineGrob</a></td>
<td>Draw Lines in a Grid Viewport</td></tr>
<tr><td style="width: 25%;"><a href="viewports.html">popViewport</a></td>
<td>Maintaining and Navigating the Grid Viewport Tree</td></tr>
<tr><td style="width: 25%;"><a href="drawDetails.html">postDrawDetails</a></td>
<td>Customising grid Drawing</td></tr>
<tr><td style="width: 25%;"><a href="drawDetails.html">preDrawDetails</a></td>
<td>Customising grid Drawing</td></tr>
<tr><td style="width: 25%;"><a href="viewports.html">pushViewport</a></td>
<td>Maintaining and Navigating the Grid Viewport Tree</td></tr>
</table>
<h2><a id="R">-- R --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="patterns.html">radialGradient</a></td>
<td>Define Gradient and Pattern Fills</td></tr>
<tr><td style="width: 25%;"><a href="grid.raster.html">rasterGrob</a></td>
<td>Render a raster object</td></tr>
<tr><td style="width: 25%;"><a href="grid.record.html">recordGrob</a></td>
<td>Encapsulate calculations and drawing</td></tr>
<tr><td style="width: 25%;"><a href="grid.rect.html">rectGrob</a></td>
<td>Draw rectangles</td></tr>
<tr><td style="width: 25%;"><a href="grid.remove.html">removeGrob</a></td>
<td>Remove a Grid Graphical Object</td></tr>
<tr><td style="width: 25%;"><a href="grid.reorder.html">reorderGrob</a></td>
<td>Reorder the children of a gTree</td></tr>
<tr><td style="width: 25%;"><a href="valid.just.html">resolveHJust</a></td>
<td>Validate a Justification</td></tr>
<tr><td style="width: 25%;"><a href="resolveRasterSize.html">resolveRasterSize</a></td>
<td>Utility function to resolve the size of a raster grob</td></tr>
<tr><td style="width: 25%;"><a href="valid.just.html">resolveVJust</a></td>
<td>Validate a Justification</td></tr>
<tr><td style="width: 25%;"><a href="grid.roundrect.html">roundrect</a></td>
<td>Draw a rectangle with rounded corners</td></tr>
<tr><td style="width: 25%;"><a href="grid.roundrect.html">roundrectGrob</a></td>
<td>Draw a rectangle with rounded corners</td></tr>
</table>
<h2><a id="S">-- S --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="viewports.html">seekViewport</a></td>
<td>Maintaining and Navigating the Grid Viewport Tree</td></tr>
<tr><td style="width: 25%;"><a href="grid.segments.html">segmentsGrob</a></td>
<td>Draw Line Segments</td></tr>
<tr><td style="width: 25%;"><a href="grid.add.html">setChildren</a></td>
<td>Add a Grid Graphical Object</td></tr>
<tr><td style="width: 25%;"><a href="grid.set.html">setGrob</a></td>
<td>Set a Grid Graphical Object</td></tr>
<tr><td style="width: 25%;"><a href="showGrob.html">showGrob</a></td>
<td>Label grid grobs.</td></tr>
<tr><td style="width: 25%;"><a href="showViewport.html">showViewport</a></td>
<td>Display grid viewports.</td></tr>
<tr><td style="width: 25%;"><a href="stringWidth.html">stringAscent</a></td>
<td>Create a Unit Describing the Width and Height of a String or Math Expression</td></tr>
<tr><td style="width: 25%;"><a href="stringWidth.html">stringDescent</a></td>
<td>Create a Unit Describing the Width and Height of a String or Math Expression</td></tr>
<tr><td style="width: 25%;"><a href="stringWidth.html">stringHeight</a></td>
<td>Create a Unit Describing the Width and Height of a String or Math Expression</td></tr>
<tr><td style="width: 25%;"><a href="stringWidth.html">stringWidth</a></td>
<td>Create a Unit Describing the Width and Height of a String or Math Expression</td></tr>
<tr><td style="width: 25%;"><a href="grid.stroke.html">strokeGrob</a></td>
<td>Stroke or Fill a Path</td></tr>
<tr><td style="width: 25%;"><a href="grid.stroke.html">strokeGrob.GridPath</a></td>
<td>Stroke or Fill a Path</td></tr>
<tr><td style="width: 25%;"><a href="grid.stroke.html">strokeGrob.grob</a></td>
<td>Stroke or Fill a Path</td></tr>
</table>
<h2><a id="T">-- T --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="grid.text.html">textGrob</a></td>
<td>Draw Text</td></tr>
</table>
<h2><a id="U">-- U --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="unit.html">unit</a></td>
<td>Function to Create a Unit Object</td></tr>
<tr><td style="width: 25%;"><a href="unit.c.html">unit.c</a></td>
<td>Combine Unit Objects</td></tr>
<tr><td style="width: 25%;"><a href="unit.length.html">unit.length</a></td>
<td>Length of a Unit Object</td></tr>
<tr><td style="width: 25%;"><a href="unit.pmin.html">unit.pmax</a></td>
<td>Parallel Unit Minima and Maxima</td></tr>
<tr><td style="width: 25%;"><a href="unit.pmin.html">unit.pmin</a></td>
<td>Parallel Unit Minima and Maxima</td></tr>
<tr><td style="width: 25%;"><a href="unit.pmin.html">unit.psum</a></td>
<td>Parallel Unit Minima and Maxima</td></tr>
<tr><td style="width: 25%;"><a href="unit.rep.html">unit.rep</a></td>
<td>Replicate Elements of Unit Objects</td></tr>
<tr><td style="width: 25%;"><a href="unitType.html">unitType</a></td>
<td>Return the Units of a Unit Object</td></tr>
<tr><td style="width: 25%;"><a href="viewports.html">upViewport</a></td>
<td>Maintaining and Navigating the Grid Viewport Tree</td></tr>
<tr><td style="width: 25%;"><a href="grid.group.html">useGrob</a></td>
<td>Draw a Group</td></tr>
<tr><td style="width: 25%;"><a href="viewportTransform.html">useRotate</a></td>
<td>Define a Group Transformation</td></tr>
<tr><td style="width: 25%;"><a href="viewportTransform.html">useScale</a></td>
<td>Define a Group Transformation</td></tr>
<tr><td style="width: 25%;"><a href="viewportTransform.html">useTranslate</a></td>
<td>Define a Group Transformation</td></tr>
</table>
<h2><a id="V">-- V --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="valid.just.html">valid.just</a></td>
<td>Validate a Justification</td></tr>
<tr><td style="width: 25%;"><a href="validDetails.html">validDetails</a></td>
<td>Customising grid grob Validation</td></tr>
<tr><td style="width: 25%;"><a href="viewport.html">viewport</a></td>
<td>Create a Grid Viewport</td></tr>
<tr><td style="width: 25%;"><a href="viewportTransform.html">viewportRotate</a></td>
<td>Define a Group Transformation</td></tr>
<tr><td style="width: 25%;"><a href="viewportTransform.html">viewportScale</a></td>
<td>Define a Group Transformation</td></tr>
<tr><td style="width: 25%;"><a href="viewportTransform.html">viewportTransform</a></td>
<td>Define a Group Transformation</td></tr>
<tr><td style="width: 25%;"><a href="viewportTransform.html">viewportTranslate</a></td>
<td>Define a Group Transformation</td></tr>
<tr><td style="width: 25%;"><a href="viewport.html">vpList</a></td>
<td>Create a Grid Viewport</td></tr>
<tr><td style="width: 25%;"><a href="vpPath.html">vpPath</a></td>
<td>Concatenate Viewport Names</td></tr>
<tr><td style="width: 25%;"><a href="viewport.html">vpStack</a></td>
<td>Create a Grid Viewport</td></tr>
<tr><td style="width: 25%;"><a href="viewport.html">vpTree</a></td>
<td>Create a Grid Viewport</td></tr>
</table>
<h2><a id="W">-- W --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="widthDetails.html">widthDetails</a></td>
<td>Width and Height of a grid grob</td></tr>
</table>
<h2><a id="X">-- X --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="grid.xaxis.html">xaxisGrob</a></td>
<td>Draw an X-Axis</td></tr>
<tr><td style="width: 25%;"><a href="xDetails.html">xDetails</a></td>
<td>Boundary of a grid grob</td></tr>
<tr><td style="width: 25%;"><a href="grid.xspline.html">xsplineGrob</a></td>
<td>Draw an Xspline</td></tr>
<tr><td style="width: 25%;"><a href="xsplinePoints.html">xsplinePoints</a></td>
<td>Return the points that would be used to draw an Xspline (or a Bezier curve).</td></tr>
</table>
<h2><a id="Y">-- Y --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="grid.yaxis.html">yaxisGrob</a></td>
<td>Draw a Y-Axis</td></tr>
<tr><td style="width: 25%;"><a href="xDetails.html">yDetails</a></td>
<td>Boundary of a grid grob</td></tr>
</table>
</div></body></html>
@media screen {
.container {
padding-right: 10px;
padding-left: 10px;
margin-right: auto;
margin-left: auto;
max-width: 900px;
}
}
.rimage img { /* from knitr - for examples and demos */
width: 96%;
margin-left: 2%;
}
.katex { font-size: 1.1em; }
code {
color: inherit;
background: inherit;
}
body {
line-height: 1.4;
background: white;
color: black;
}
a:link {
background: white;
color: blue;
}
a:visited {
background: white;
color: rgb(50%, 0%, 50%);
}
h1 {
background: white;
color: rgb(55%, 55%, 55%);
font-family: monospace;
font-size: 1.4em; /* x-large; */
text-align: center;
}
h2 {
background: white;
color: rgb(40%, 40%, 40%);
font-family: monospace;
font-size: 1.2em; /* large; */
text-align: center;
}
h3 {
background: white;
color: rgb(40%, 40%, 40%);
font-family: monospace;
font-size: 1.2em; /* large; */
}
h4 {
background: white;
color: rgb(40%, 40%, 40%);
font-family: monospace;
font-style: italic;
font-size: 1.2em; /* large; */
}
h5 {
background: white;
color: rgb(40%, 40%, 40%);
font-family: monospace;
}
h6 {
background: white;
color: rgb(40%, 40%, 40%);
font-family: monospace;
font-style: italic;
}
img.toplogo {
width: 4em;
vertical-align: middle;
}
img.arrow {
width: 30px;
height: 30px;
border: 0;
}
span.acronym {
font-size: small;
}
span.env {
font-family: monospace;
}
span.file {
font-family: monospace;
}
span.option{
font-family: monospace;
}
span.pkg {
font-weight: bold;
}
span.samp{
font-family: monospace;
}
div.vignettes a:hover {
background: rgb(85%, 85%, 85%);
}
tr {
vertical-align: top;
}
span.rlang {
font-family: Courier New, Courier;
color: #666666;
}

View file

@ -0,0 +1 @@
{"files":[{"filename":"/00Index.html","start":0,"end":32796},{"filename":"/R.css","start":32796,"end":34640}],"remote_package_size":34640}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1 @@
{"files":[{"filename":"/bugs.R","start":0,"end":1307},{"filename":"/clippaths.R","start":1307,"end":12612},{"filename":"/compositing.R","start":12612,"end":15938},{"filename":"/coords.R","start":15938,"end":39430},{"filename":"/glyphs.R","start":39430,"end":52071},{"filename":"/grep.R","start":52071,"end":53343},{"filename":"/grep.Rout.save","start":53343,"end":55618},{"filename":"/groups.R","start":55618,"end":73504},{"filename":"/masks.R","start":73504,"end":88599},{"filename":"/nesting.R","start":88599,"end":92042},{"filename":"/paths.R","start":92042,"end":99555},{"filename":"/patterns.R","start":99555,"end":148267},{"filename":"/reg.R","start":148267,"end":166611},{"filename":"/testls.R","start":166611,"end":171924},{"filename":"/testls.Rout.save","start":171924,"end":180299},{"filename":"/units.R","start":180299,"end":186519}],"remote_package_size":186519}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1 @@
{"files":[{"filename":"/AnIndex","start":0,"end":14357},{"filename":"/aliases.rds","start":14357,"end":18469},{"filename":"/methods.rdb","start":18469,"end":535347},{"filename":"/methods.rdx","start":535347,"end":537398},{"filename":"/paths.rds","start":537398,"end":538285}],"remote_package_size":538285}

View file

@ -0,0 +1,857 @@
<!DOCTYPE html>
<html>
<head><title>R: Formal Methods and Classes</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
<link rel="stylesheet" type="text/css" href="R.css" />
</head><body><div class="container">
<h1> Formal Methods and Classes
<img class="toplogo" src="../../../doc/html/Rlogo.svg" alt="[R logo]" />
</h1>
<hr/>
<div style="text-align: center;">
<a href="../../../doc/html/packages.html"><img class="arrow" src="../../../doc/html/left.jpg" alt="[Up]" /></a>
<a href="../../../doc/html/index.html"><img class="arrow" src="../../../doc/html/up.jpg" alt="[Top]" /></a>
</div><h2>Documentation for package &lsquo;methods&rsquo; version 4.3.0</h2>
<ul><li><a href="../DESCRIPTION">DESCRIPTION file</a>.</li>
</ul>
<h2>Help Pages</h2>
<p style="text-align: center;">
<a href="# "> </a>
<a href="#A">A</a>
<a href="#B">B</a>
<a href="#C">C</a>
<a href="#D">D</a>
<a href="#E">E</a>
<a href="#F">F</a>
<a href="#G">G</a>
<a href="#H">H</a>
<a href="#I">I</a>
<a href="#L">L</a>
<a href="#M">M</a>
<a href="#N">N</a>
<a href="#O">O</a>
<a href="#P">P</a>
<a href="#R">R</a>
<a href="#S">S</a>
<a href="#T">T</a>
<a href="#U">U</a>
<a href="#V">V</a>
<a href="#W">W</a>
<a href="#misc">misc</a>
</p>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="methods-package.html">methods-package</a></td>
<td>Formal Methods and Classes</td></tr>
</table>
<h2><a id="A">-- A --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="refClass.html">activeBindingFunction-class</a></td>
<td>Objects With Fields Treated by Reference (OOP-style)</td></tr>
<tr><td style="width: 25%;"><a href="setOldClass.html">anova-class</a></td>
<td>Register Old-Style (S3) Classes and Inheritance</td></tr>
<tr><td style="width: 25%;"><a href="setOldClass.html">anova.glm-class</a></td>
<td>Register Old-Style (S3) Classes and Inheritance</td></tr>
<tr><td style="width: 25%;"><a href="setOldClass.html">anova.glm.null-class</a></td>
<td>Register Old-Style (S3) Classes and Inheritance</td></tr>
<tr><td style="width: 25%;"><a href="BasicClasses.html">ANY-class</a></td>
<td>Classes Corresponding to Basic Data Types</td></tr>
<tr><td style="width: 25%;"><a href="setOldClass.html">aov-class</a></td>
<td>Register Old-Style (S3) Classes and Inheritance</td></tr>
<tr><td style="width: 25%;"><a href="S4groupGeneric.html">Arith</a></td>
<td>S4 Group Generic Functions</td></tr>
<tr><td style="width: 25%;"><a href="StructureClasses.html">array-class</a></td>
<td>Classes Corresponding to Basic Structures</td></tr>
<tr><td style="width: 25%;"><a href="as.html">as</a></td>
<td>Force an Object to Belong to a Class</td></tr>
<tr><td style="width: 25%;"><a href="as.html">as&lt;-</a></td>
<td>Force an Object to Belong to a Class</td></tr>
</table>
<h2><a id="B">-- B --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="MethodsList-class.html">body&lt;--method</a></td>
<td>Class MethodsList, Defunct Representation of Methods</td></tr>
<tr><td style="width: 25%;"><a href="BasicClasses.html">builtin-class</a></td>
<td>Classes Corresponding to Basic Data Types</td></tr>
</table>
<h2><a id="C">-- C --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="LanguageClasses.html">call-class</a></td>
<td>Classes to Represent Unevaluated Language Objects</td></tr>
<tr><td style="width: 25%;"><a href="callGeneric.html">callGeneric</a></td>
<td>Call the Current Generic Function from a Method</td></tr>
<tr><td style="width: 25%;"><a href="NextMethod.html">callNextMethod</a></td>
<td>Call an Inherited Method</td></tr>
<tr><td style="width: 25%;"><a href="canCoerce.html">canCoerce</a></td>
<td>Can an Object be Coerced to a Certain S4 Class?</td></tr>
<tr><td style="width: 25%;"><a href="cbind2.html">cbind2</a></td>
<td>Combine two Objects by Columns or Rows</td></tr>
<tr><td style="width: 25%;"><a href="cbind2.html">cbind2-method</a></td>
<td>Combine two Objects by Columns or Rows</td></tr>
<tr><td style="width: 25%;"><a href="cbind2.html">cbind2-methods</a></td>
<td>Combine two Objects by Columns or Rows</td></tr>
<tr><td style="width: 25%;"><a href="BasicClasses.html">character-class</a></td>
<td>Classes Corresponding to Basic Data Types</td></tr>
<tr><td style="width: 25%;"><a href="Classes.html">Classes</a></td>
<td>S4 Class Documentation</td></tr>
<tr><td style="width: 25%;"><a href="classesToAM.html">classesToAM</a></td>
<td>Compute an Adjacency Matrix for Superclasses of Class Definitions</td></tr>
<tr><td style="width: 25%;"><a href="Classes_Details.html">Classes_Details</a></td>
<td>Class Definitions</td></tr>
<tr><td style="width: 25%;"><a href="setClass.html">classGeneratorFunction-class</a></td>
<td>Create a Class Definition</td></tr>
<tr><td style="width: 25%;"><a href="className.html">className</a></td>
<td>Class names including the corresponding package</td></tr>
<tr><td style="width: 25%;"><a href="className.html">className-class</a></td>
<td>Class names including the corresponding package</td></tr>
<tr><td style="width: 25%;"><a href="classRepresentation-class.html">classRepresentation-class</a></td>
<td>Class Objects</td></tr>
<tr><td style="width: 25%;"><a href="setClassUnion.html">ClassUnionRepresentation-class</a></td>
<td>Classes Defined as the Union of Other Classes</td></tr>
<tr><td style="width: 25%;"><a href="setAs.html">coerce</a></td>
<td>Methods for Coercing an Object to a Class</td></tr>
<tr><td style="width: 25%;"><a href="S3Part.html">coerce-method</a></td>
<td>S4 Classes that Contain S3 Classes</td></tr>
<tr><td style="width: 25%;"><a href="setAs.html">coerce-method</a></td>
<td>Methods for Coercing an Object to a Class</td></tr>
<tr><td style="width: 25%;"><a href="setAs.html">coerce-methods</a></td>
<td>Methods for Coercing an Object to a Class</td></tr>
<tr><td style="width: 25%;"><a href="setAs.html">coerce&lt;-</a></td>
<td>Methods for Coercing an Object to a Class</td></tr>
<tr><td style="width: 25%;"><a href="S4groupGeneric.html">Compare</a></td>
<td>S4 Group Generic Functions</td></tr>
<tr><td style="width: 25%;"><a href="S4groupGeneric.html">Complex</a></td>
<td>S4 Group Generic Functions</td></tr>
<tr><td style="width: 25%;"><a href="BasicClasses.html">complex-class</a></td>
<td>Classes Corresponding to Basic Data Types</td></tr>
</table>
<h2><a id="D">-- D --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="setOldClass.html">data.frame-class</a></td>
<td>Register Old-Style (S3) Classes and Inheritance</td></tr>
<tr><td style="width: 25%;"><a href="setOldClass.html">data.frameRowLabels-class</a></td>
<td>Register Old-Style (S3) Classes and Inheritance</td></tr>
<tr><td style="width: 25%;"><a href="setOldClass.html">Date-class</a></td>
<td>Register Old-Style (S3) Classes and Inheritance</td></tr>
<tr><td style="width: 25%;"><a href="refClass.html">defaultBindingFunction-class</a></td>
<td>Objects With Fields Treated by Reference (OOP-style)</td></tr>
<tr><td style="width: 25%;"><a href="setOldClass.html">density-class</a></td>
<td>Register Old-Style (S3) Classes and Inheritance</td></tr>
<tr><td style="width: 25%;"><a href="TraceClasses.html">derivedDefaultMethodWithTrace-class</a></td>
<td>Classes Used Internally to Control Tracing</td></tr>
<tr><td style="width: 25%;"><a href="Documentation.html">Documentation</a></td>
<td>Using and Creating On-line Documentation for Classes and Methods</td></tr>
<tr><td style="width: 25%;"><a href="Documentation.html">Documentation-class</a></td>
<td>Using and Creating On-line Documentation for Classes and Methods</td></tr>
<tr><td style="width: 25%;"><a href="Documentation.html">Documentation-methods</a></td>
<td>Using and Creating On-line Documentation for Classes and Methods</td></tr>
<tr><td style="width: 25%;"><a href="dotsMethods.html">dotsMethods</a></td>
<td>The Use of '...' in Method Signatures</td></tr>
<tr><td style="width: 25%;"><a href="BasicClasses.html">double-class</a></td>
<td>Classes Corresponding to Basic Data Types</td></tr>
<tr><td style="width: 25%;"><a href="setOldClass.html">dump.frames-class</a></td>
<td>Register Old-Style (S3) Classes and Inheritance</td></tr>
<tr><td style="width: 25%;"><a href="GenericFunctions.html">dumpMethod</a></td>
<td>Tools for Managing Generic Functions</td></tr>
<tr><td style="width: 25%;"><a href="GenericFunctions.html">dumpMethods</a></td>
<td>Tools for Managing Generic Functions</td></tr>
</table>
<h2><a id="E">-- E --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="EnvironmentClass.html">environment-class</a></td>
<td>Class '"environment"'</td></tr>
<tr><td style="width: 25%;"><a href="stdRefClass.html">envRefClass-class</a></td>
<td>Class '"envRefClass"'</td></tr>
<tr><td style="width: 25%;"><a href="setLoadActions.html">evalOnLoad</a></td>
<td>Set Actions For Package Loading</td></tr>
<tr><td style="width: 25%;"><a href="setLoadActions.html">evalqOnLoad</a></td>
<td>Set Actions For Package Loading</td></tr>
<tr><td style="width: 25%;"><a href="evalSource.html">evalSource</a></td>
<td>Use Function Definitions from a Source File without Reinstalling a Package</td></tr>
<tr><td style="width: 25%;"><a href="getMethod.html">existsMethod</a></td>
<td>Get or Test for the Definition of a Method</td></tr>
<tr><td style="width: 25%;"><a href="BasicClasses.html">expression-class</a></td>
<td>Classes Corresponding to Basic Data Types</td></tr>
<tr><td style="width: 25%;"><a href="is.html">extends</a></td>
<td>Is an Object from a Class?</td></tr>
<tr><td style="width: 25%;"><a href="BasicClasses.html">externalptr-class</a></td>
<td>Classes Corresponding to Basic Data Types</td></tr>
<tr><td style="width: 25%;"><a href="refClass.html">externalRefMethod</a></td>
<td>Objects With Fields Treated by Reference (OOP-style)</td></tr>
<tr><td style="width: 25%;"><a href="refClass.html">externalRefMethod-class</a></td>
<td>Objects With Fields Treated by Reference (OOP-style)</td></tr>
</table>
<h2><a id="F">-- F --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="setOldClass.html">factor-class</a></td>
<td>Register Old-Style (S3) Classes and Inheritance</td></tr>
<tr><td style="width: 25%;"><a href="findClass.html">findClass</a></td>
<td>Find Class Definitions</td></tr>
<tr><td style="width: 25%;"><a href="GenericFunctions.html">findFunction</a></td>
<td>Tools for Managing Generic Functions</td></tr>
<tr><td style="width: 25%;"><a href="getMethod.html">findMethod</a></td>
<td>Get or Test for the Definition of a Method</td></tr>
<tr><td style="width: 25%;"><a href="findMethods.html">findMethods</a></td>
<td>Description of the Methods Defined for a Generic Function</td></tr>
<tr><td style="width: 25%;"><a href="findMethods.html">findMethodSignatures</a></td>
<td>Description of the Methods Defined for a Generic Function</td></tr>
<tr><td style="width: 25%;"><a href="fixPrevious.html">fixPre1.8</a></td>
<td>Fix Objects Saved from R Versions Previous to 1.8</td></tr>
<tr><td style="width: 25%;"><a href="LanguageClasses.html">for-class</a></td>
<td>Classes to Represent Unevaluated Language Objects</td></tr>
<tr><td style="width: 25%;"><a href="setOldClass.html">formula-class</a></td>
<td>Register Old-Style (S3) Classes and Inheritance</td></tr>
<tr><td style="width: 25%;"><a href="BasicClasses.html">function-class</a></td>
<td>Classes Corresponding to Basic Data Types</td></tr>
<tr><td style="width: 25%;"><a href="TraceClasses.html">functionWithTrace-class</a></td>
<td>Classes Used Internally to Control Tracing</td></tr>
</table>
<h2><a id="G">-- G --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="genericFunction-class.html">genericFunction-class</a></td>
<td>Generic Function Objects</td></tr>
<tr><td style="width: 25%;"><a href="GenericFunctions.html">GenericFunctions</a></td>
<td>Tools for Managing Generic Functions</td></tr>
<tr><td style="width: 25%;"><a href="TraceClasses.html">genericFunctionWithTrace-class</a></td>
<td>Classes Used Internally to Control Tracing</td></tr>
<tr><td style="width: 25%;"><a href="getClass.html">getClass</a></td>
<td>Get Class Definition</td></tr>
<tr><td style="width: 25%;"><a href="getClass.html">getClassDef</a></td>
<td>Get Class Definition</td></tr>
<tr><td style="width: 25%;"><a href="findClass.html">getClasses</a></td>
<td>Find Class Definitions</td></tr>
<tr><td style="width: 25%;"><a href="GenericFunctions.html">getGenerics</a></td>
<td>Tools for Managing Generic Functions</td></tr>
<tr><td style="width: 25%;"><a href="setLoadActions.html">getLoadActions</a></td>
<td>Set Actions For Package Loading</td></tr>
<tr><td style="width: 25%;"><a href="getMethod.html">getMethod</a></td>
<td>Get or Test for the Definition of a Method</td></tr>
<tr><td style="width: 25%;"><a href="findMethods.html">getMethods</a></td>
<td>Description of the Methods Defined for a Generic Function</td></tr>
<tr><td style="width: 25%;"><a href="getPackageName.html">getPackageName</a></td>
<td>The Name associated with a Given Package</td></tr>
<tr><td style="width: 25%;"><a href="refClass.html">getRefClass</a></td>
<td>Objects With Fields Treated by Reference (OOP-style)</td></tr>
<tr><td style="width: 25%;"><a href="slot.html">getSlots</a></td>
<td>The Slots in an Object from a Formal Class</td></tr>
<tr><td style="width: 25%;"><a href="validObject.html">getValidity</a></td>
<td>Test the Validity of an Object</td></tr>
<tr><td style="width: 25%;"><a href="setOldClass.html">glm-class</a></td>
<td>Register Old-Style (S3) Classes and Inheritance</td></tr>
<tr><td style="width: 25%;"><a href="setOldClass.html">glm.null-class</a></td>
<td>Register Old-Style (S3) Classes and Inheritance</td></tr>
<tr><td style="width: 25%;"><a href="genericFunction-class.html">groupGenericFunction-class</a></td>
<td>Generic Function Objects</td></tr>
<tr><td style="width: 25%;"><a href="S4groupGeneric.html">GroupGenericFunctions</a></td>
<td>S4 Group Generic Functions</td></tr>
<tr><td style="width: 25%;"><a href="TraceClasses.html">groupGenericFunctionWithTrace-class</a></td>
<td>Classes Used Internally to Control Tracing</td></tr>
</table>
<h2><a id="H">-- H --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="hasArg.html">hasArg</a></td>
<td>Look for an Argument in the Call</td></tr>
<tr><td style="width: 25%;"><a href="setLoadActions.html">hasLoadAction</a></td>
<td>Set Actions For Package Loading</td></tr>
<tr><td style="width: 25%;"><a href="getMethod.html">hasMethod</a></td>
<td>Get or Test for the Definition of a Method</td></tr>
<tr><td style="width: 25%;"><a href="findMethods.html">hasMethods</a></td>
<td>Description of the Methods Defined for a Generic Function</td></tr>
<tr><td style="width: 25%;"><a href="setOldClass.html">hsearch-class</a></td>
<td>Register Old-Style (S3) Classes and Inheritance</td></tr>
</table>
<h2><a id="I">-- I --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="LanguageClasses.html">if-class</a></td>
<td>Classes to Represent Unevaluated Language Objects</td></tr>
<tr><td style="width: 25%;"><a href="implicitGeneric.html">implicit generic</a></td>
<td>Manage Implicit Versions of Generic Functions</td></tr>
<tr><td style="width: 25%;"><a href="implicitGeneric.html">implicitGeneric</a></td>
<td>Manage Implicit Versions of Generic Functions</td></tr>
<tr><td style="width: 25%;"><a href="inheritedSlotNames.html">inheritedSlotNames</a></td>
<td>Names of Slots Inherited From a Super Class</td></tr>
<tr><td style="width: 25%;"><a href="refClass.html">initFieldArgs</a></td>
<td>Objects With Fields Treated by Reference (OOP-style)</td></tr>
<tr><td style="width: 25%;"><a href="new.html">initialize</a></td>
<td>Generate an Object from a Class</td></tr>
<tr><td style="width: 25%;"><a href="StructureClasses.html">initialize-method</a></td>
<td>Classes Corresponding to Basic Structures</td></tr>
<tr><td style="width: 25%;"><a href="initialize-methods.html">initialize-method</a></td>
<td>Methods to Initialize New Objects from a Class</td></tr>
<tr><td style="width: 25%;"><a href="setOldClass.html">initialize-method</a></td>
<td>Register Old-Style (S3) Classes and Inheritance</td></tr>
<tr><td style="width: 25%;"><a href="stdRefClass.html">initialize-method</a></td>
<td>Class '"envRefClass"'</td></tr>
<tr><td style="width: 25%;"><a href="initialize-methods.html">initialize-methods</a></td>
<td>Methods to Initialize New Objects from a Class</td></tr>
<tr><td style="width: 25%;"><a href="refClass.html">initRefFields</a></td>
<td>Objects With Fields Treated by Reference (OOP-style)</td></tr>
<tr><td style="width: 25%;"><a href="evalSource.html">insertSource</a></td>
<td>Use Function Definitions from a Source File without Reinstalling a Package</td></tr>
<tr><td style="width: 25%;"><a href="BasicClasses.html">integer-class</a></td>
<td>Classes Corresponding to Basic Data Types</td></tr>
<tr><td style="width: 25%;"><a href="setOldClass.html">integrate-class</a></td>
<td>Register Old-Style (S3) Classes and Inheritance</td></tr>
<tr><td style="width: 25%;"><a href="Introduction.html">Introduction</a></td>
<td>Basic use of S4 Methods and Classes</td></tr>
<tr><td style="width: 25%;"><a href="is.html">is</a></td>
<td>Is an Object from a Class?</td></tr>
<tr><td style="width: 25%;"><a href="findClass.html">isClass</a></td>
<td>Find Class Definitions</td></tr>
<tr><td style="width: 25%;"><a href="setClassUnion.html">isClassUnion</a></td>
<td>Classes Defined as the Union of Other Classes</td></tr>
<tr><td style="width: 25%;"><a href="GenericFunctions.html">isGeneric</a></td>
<td>Tools for Managing Generic Functions</td></tr>
<tr><td style="width: 25%;"><a href="GenericFunctions.html">isGroup</a></td>
<td>Tools for Managing Generic Functions</td></tr>
<tr><td style="width: 25%;"><a href="isSealedMethod.html">isSealedClass</a></td>
<td>Check for a Sealed Method or Class</td></tr>
<tr><td style="width: 25%;"><a href="isSealedMethod.html">isSealedMethod</a></td>
<td>Check for a Sealed Method or Class</td></tr>
<tr><td style="width: 25%;"><a href="S3Part.html">isXS3Class</a></td>
<td>S4 Classes that Contain S3 Classes</td></tr>
</table>
<h2><a id="L">-- L --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="LanguageClasses.html">language-class</a></td>
<td>Classes to Represent Unevaluated Language Objects</td></tr>
<tr><td style="width: 25%;"><a href="setOldClass.html">libraryIQR-class</a></td>
<td>Register Old-Style (S3) Classes and Inheritance</td></tr>
<tr><td style="width: 25%;"><a href="LinearMethodsList-class.html">LinearMethodsList-class</a></td>
<td>Class "LinearMethodsList"</td></tr>
<tr><td style="width: 25%;"><a href="BasicClasses.html">list-class</a></td>
<td>Classes Corresponding to Basic Data Types</td></tr>
<tr><td style="width: 25%;"><a href="findMethods.html">listOfMethods-class</a></td>
<td>Description of the Methods Defined for a Generic Function</td></tr>
<tr><td style="width: 25%;"><a href="setOldClass.html">lm-class</a></td>
<td>Register Old-Style (S3) Classes and Inheritance</td></tr>
<tr><td style="width: 25%;"><a href="localRefClass.html">localRefClass-class</a></td>
<td>Localized Objects based on Reference Classes</td></tr>
<tr><td style="width: 25%;"><a href="localRefClass.html">LocalReferenceClasses</a></td>
<td>Localized Objects based on Reference Classes</td></tr>
<tr><td style="width: 25%;"><a href="S4groupGeneric.html">Logic</a></td>
<td>S4 Group Generic Functions</td></tr>
<tr><td style="width: 25%;"><a href="BasicClasses.html">logical-class</a></td>
<td>Classes Corresponding to Basic Data Types</td></tr>
<tr><td style="width: 25%;"><a href="setOldClass.html">logLik-class</a></td>
<td>Register Old-Style (S3) Classes and Inheritance</td></tr>
</table>
<h2><a id="M">-- M --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="setSClass.html">makeClassRepresentation</a></td>
<td>Create a Class Definition</td></tr>
<tr><td style="width: 25%;"><a href="setOldClass.html">maov-class</a></td>
<td>Register Old-Style (S3) Classes and Inheritance</td></tr>
<tr><td style="width: 25%;"><a href="S4groupGeneric.html">Math</a></td>
<td>S4 Group Generic Functions</td></tr>
<tr><td style="width: 25%;"><a href="StructureClasses.html">Math-method</a></td>
<td>Classes Corresponding to Basic Structures</td></tr>
<tr><td style="width: 25%;"><a href="nonStructure-class.html">Math-method</a></td>
<td>A non-structure S4 Class for basic types</td></tr>
<tr><td style="width: 25%;"><a href="S4groupGeneric.html">Math2</a></td>
<td>S4 Group Generic Functions</td></tr>
<tr><td style="width: 25%;"><a href="nonStructure-class.html">Math2-method</a></td>
<td>A non-structure S4 Class for basic types</td></tr>
<tr><td style="width: 25%;"><a href="StructureClasses.html">matrix-class</a></td>
<td>Classes Corresponding to Basic Structures</td></tr>
<tr><td style="width: 25%;"><a href="method.skeleton.html">method.skeleton</a></td>
<td>Create a Skeleton File for a New Method</td></tr>
<tr><td style="width: 25%;"><a href="MethodDefinition-class.html">MethodDefinition-class</a></td>
<td>Classes to Represent Method Definitions</td></tr>
<tr><td style="width: 25%;"><a href="TraceClasses.html">MethodDefinitionWithTrace-class</a></td>
<td>Classes Used Internally to Control Tracing</td></tr>
<tr><td style="width: 25%;"><a href="Methods.html">Methods</a></td>
<td>S4 Class Documentation</td></tr>
<tr><td style="width: 25%;"><a href="testInheritedMethods.html">MethodSelectionReport-class</a></td>
<td>Test for and Report about Selection of Inherited Methods</td></tr>
<tr><td style="width: 25%;"><a href="MethodsList-class.html">MethodsList-class</a></td>
<td>Class MethodsList, Defunct Representation of Methods</td></tr>
<tr><td style="width: 25%;"><a href="Methods_Details.html">Methods_Details</a></td>
<td>General Information on Methods</td></tr>
<tr><td style="width: 25%;"><a href="Methods_for_Nongenerics.html">Methods_for_Nongenerics</a></td>
<td>Methods for Non-Generic Functions in Other Packages</td></tr>
<tr><td style="width: 25%;"><a href="Methods_for_S3.html">Methods_for_S3</a></td>
<td>Methods For S3 and S4 Dispatch</td></tr>
<tr><td style="width: 25%;"><a href="MethodWithNext-class.html">MethodWithNext-class</a></td>
<td>Class MethodWithNext</td></tr>
<tr><td style="width: 25%;"><a href="TraceClasses.html">MethodWithNextWithTrace-class</a></td>
<td>Classes Used Internally to Control Tracing</td></tr>
<tr><td style="width: 25%;"><a href="BasicClasses.html">missing-class</a></td>
<td>Classes Corresponding to Basic Data Types</td></tr>
<tr><td style="width: 25%;"><a href="setOldClass.html">mlm-class</a></td>
<td>Register Old-Style (S3) Classes and Inheritance</td></tr>
<tr><td style="width: 25%;"><a href="setOldClass.html">mtable-class</a></td>
<td>Register Old-Style (S3) Classes and Inheritance</td></tr>
<tr><td style="width: 25%;"><a href="setOldClass.html">mts-class</a></td>
<td>Register Old-Style (S3) Classes and Inheritance</td></tr>
<tr><td style="width: 25%;"><a href="className.html">multipleClasses</a></td>
<td>Class names including the corresponding package</td></tr>
</table>
<h2><a id="N">-- N --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="LanguageClasses.html">name-class</a></td>
<td>Classes to Represent Unevaluated Language Objects</td></tr>
<tr><td style="width: 25%;"><a href="BasicClasses.html">namedList-class</a></td>
<td>Classes Corresponding to Basic Data Types</td></tr>
<tr><td style="width: 25%;"><a href="new.html">new</a></td>
<td>Generate an Object from a Class</td></tr>
<tr><td style="width: 25%;"><a href="TraceClasses.html">nonstandardGenericWithTrace-class</a></td>
<td>Classes Used Internally to Control Tracing</td></tr>
<tr><td style="width: 25%;"><a href="nonStructure-class.html">nonStructure-class</a></td>
<td>A non-structure S4 Class for basic types</td></tr>
<tr><td style="width: 25%;"><a href="BasicClasses.html">NULL-class</a></td>
<td>Classes Corresponding to Basic Data Types</td></tr>
<tr><td style="width: 25%;"><a href="BasicClasses.html">numeric-class</a></td>
<td>Classes Corresponding to Basic Data Types</td></tr>
</table>
<h2><a id="O">-- O --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="ObjectsWithPackage-class.html">ObjectsWithPackage-class</a></td>
<td>A Vector of Object Names, with associated Package Names</td></tr>
<tr><td style="width: 25%;"><a href="setOldClass.html">oldClass-class</a></td>
<td>Register Old-Style (S3) Classes and Inheritance</td></tr>
<tr><td style="width: 25%;"><a href="S4groupGeneric.html">Ops</a></td>
<td>S4 Group Generic Functions</td></tr>
<tr><td style="width: 25%;"><a href="StructureClasses.html">Ops-method</a></td>
<td>Classes Corresponding to Basic Structures</td></tr>
<tr><td style="width: 25%;"><a href="nonStructure-class.html">Ops-method</a></td>
<td>A non-structure S4 Class for basic types</td></tr>
<tr><td style="width: 25%;"><a href="setOldClass.html">ordered-class</a></td>
<td>Register Old-Style (S3) Classes and Inheritance</td></tr>
</table>
<h2><a id="P">-- P --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="setOldClass.html">packageInfo-class</a></td>
<td>Register Old-Style (S3) Classes and Inheritance</td></tr>
<tr><td style="width: 25%;"><a href="setOldClass.html">packageIQR-class</a></td>
<td>Register Old-Style (S3) Classes and Inheritance</td></tr>
<tr><td style="width: 25%;"><a href="getPackageName.html">packageSlot</a></td>
<td>The Name associated with a Given Package</td></tr>
<tr><td style="width: 25%;"><a href="getPackageName.html">packageSlot&lt;-</a></td>
<td>The Name associated with a Given Package</td></tr>
<tr><td style="width: 25%;"><a href="setOldClass.html">POSIXct-class</a></td>
<td>Register Old-Style (S3) Classes and Inheritance</td></tr>
<tr><td style="width: 25%;"><a href="setOldClass.html">POSIXlt-class</a></td>
<td>Register Old-Style (S3) Classes and Inheritance</td></tr>
<tr><td style="width: 25%;"><a href="setOldClass.html">POSIXt-class</a></td>
<td>Register Old-Style (S3) Classes and Inheritance</td></tr>
<tr><td style="width: 25%;"><a href="implicitGeneric.html">prohibitGeneric</a></td>
<td>Manage Implicit Versions of Generic Functions</td></tr>
<tr><td style="width: 25%;"><a href="promptClass.html">promptClass</a></td>
<td>Generate a Shell for Documentation of a Formal Class</td></tr>
<tr><td style="width: 25%;"><a href="promptMethods.html">promptMethods</a></td>
<td>Generate a Shell for Documentation of Formal Methods</td></tr>
<tr><td style="width: 25%;"><a href="representation.html">prototype</a></td>
<td>Construct a Representation or a Prototype for a Class Definition</td></tr>
</table>
<h2><a id="R">-- R --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="BasicClasses.html">raw-class</a></td>
<td>Classes Corresponding to Basic Data Types</td></tr>
<tr><td style="width: 25%;"><a href="cbind2.html">rbind2</a></td>
<td>Combine two Objects by Columns or Rows</td></tr>
<tr><td style="width: 25%;"><a href="cbind2.html">rbind2-method</a></td>
<td>Combine two Objects by Columns or Rows</td></tr>
<tr><td style="width: 25%;"><a href="cbind2.html">rbind2-methods</a></td>
<td>Combine two Objects by Columns or Rows</td></tr>
<tr><td style="width: 25%;"><a href="setOldClass.html">recordedplot-class</a></td>
<td>Register Old-Style (S3) Classes and Inheritance</td></tr>
<tr><td style="width: 25%;"><a href="refClass.html">refClass-class</a></td>
<td>Objects With Fields Treated by Reference (OOP-style)</td></tr>
<tr><td style="width: 25%;"><a href="refClass.html">refClassRepresentation-class</a></td>
<td>Objects With Fields Treated by Reference (OOP-style)</td></tr>
<tr><td style="width: 25%;"><a href="refClass.html">ReferenceClasses</a></td>
<td>Objects With Fields Treated by Reference (OOP-style)</td></tr>
<tr><td style="width: 25%;"><a href="refClass.html">refGeneratorSlot-class</a></td>
<td>Objects With Fields Treated by Reference (OOP-style)</td></tr>
<tr><td style="width: 25%;"><a href="refClass.html">refMethodDef-class</a></td>
<td>Objects With Fields Treated by Reference (OOP-style)</td></tr>
<tr><td style="width: 25%;"><a href="refClass.html">refMethodDefWithTrace-class</a></td>
<td>Objects With Fields Treated by Reference (OOP-style)</td></tr>
<tr><td style="width: 25%;"><a href="refClass.html">refObject-class</a></td>
<td>Objects With Fields Treated by Reference (OOP-style)</td></tr>
<tr><td style="width: 25%;"><a href="refClass.html">refObjectGenerator-class</a></td>
<td>Objects With Fields Treated by Reference (OOP-style)</td></tr>
<tr><td style="width: 25%;"><a href="implicitGeneric.html">registerImplicitGenerics</a></td>
<td>Manage Implicit Versions of Generic Functions</td></tr>
<tr><td style="width: 25%;"><a href="findClass.html">removeClass</a></td>
<td>Find Class Definitions</td></tr>
<tr><td style="width: 25%;"><a href="GenericFunctions.html">removeGeneric</a></td>
<td>Tools for Managing Generic Functions</td></tr>
<tr><td style="width: 25%;"><a href="removeMethod.html">removeMethod</a></td>
<td>Remove a Method</td></tr>
<tr><td style="width: 25%;"><a href="GenericFunctions.html">removeMethods</a></td>
<td>Tools for Managing Generic Functions</td></tr>
<tr><td style="width: 25%;"><a href="LanguageClasses.html">repeat-class</a></td>
<td>Classes to Represent Unevaluated Language Objects</td></tr>
<tr><td style="width: 25%;"><a href="representation.html">representation</a></td>
<td>Construct a Representation or a Prototype for a Class Definition</td></tr>
<tr><td style="width: 25%;"><a href="findClass.html">resetClass</a></td>
<td>Find Class Definitions</td></tr>
<tr><td style="width: 25%;"><a href="setOldClass.html">rle-class</a></td>
<td>Register Old-Style (S3) Classes and Inheritance</td></tr>
</table>
<h2><a id="S">-- S --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="S3Part.html">S3</a></td>
<td>S4 Classes that Contain S3 Classes</td></tr>
<tr><td style="width: 25%;"><a href="S3Part.html">S3-class</a></td>
<td>S4 Classes that Contain S3 Classes</td></tr>
<tr><td style="width: 25%;"><a href="S3Part.html">S3Class</a></td>
<td>S4 Classes that Contain S3 Classes</td></tr>
<tr><td style="width: 25%;"><a href="S3Part.html">S3Class&lt;-</a></td>
<td>S4 Classes that Contain S3 Classes</td></tr>
<tr><td style="width: 25%;"><a href="S3Part.html">S3Part</a></td>
<td>S4 Classes that Contain S3 Classes</td></tr>
<tr><td style="width: 25%;"><a href="S3Part.html">S3Part&lt;-</a></td>
<td>S4 Classes that Contain S3 Classes</td></tr>
<tr><td style="width: 25%;"><a href="S3Part.html">S4</a></td>
<td>S4 Classes that Contain S3 Classes</td></tr>
<tr><td style="width: 25%;"><a href="BasicClasses.html">S4-class</a></td>
<td>Classes Corresponding to Basic Data Types</td></tr>
<tr><td style="width: 25%;"><a href="S4groupGeneric.html">S4groupGeneric</a></td>
<td>S4 Group Generic Functions</td></tr>
<tr><td style="width: 25%;"><a href="SClassExtension-class.html">SClassExtension-class</a></td>
<td>Class to Represent Inheritance (Extension) Relations</td></tr>
<tr><td style="width: 25%;"><a href="findClass.html">sealClass</a></td>
<td>Find Class Definitions</td></tr>
<tr><td style="width: 25%;"><a href="MethodDefinition-class.html">SealedMethodDefinition-class</a></td>
<td>Classes to Represent Method Definitions</td></tr>
<tr><td style="width: 25%;"><a href="getMethod.html">selectMethod</a></td>
<td>Get or Test for the Definition of a Method</td></tr>
<tr><td style="width: 25%;"><a href="selectSuperClasses.html">selectSuperClasses</a></td>
<td>Super Classes (of Specific Kinds) of a Class</td></tr>
<tr><td style="width: 25%;"><a href="setAs.html">setAs</a></td>
<td>Methods for Coercing an Object to a Class</td></tr>
<tr><td style="width: 25%;"><a href="setClass.html">setClass</a></td>
<td>Create a Class Definition</td></tr>
<tr><td style="width: 25%;"><a href="setClassUnion.html">setClassUnion</a></td>
<td>Classes Defined as the Union of Other Classes</td></tr>
<tr><td style="width: 25%;"><a href="setGeneric.html">setGeneric</a></td>
<td>Create a Generic Version of a Function</td></tr>
<tr><td style="width: 25%;"><a href="implicitGeneric.html">setGenericImplicit</a></td>
<td>Manage Implicit Versions of Generic Functions</td></tr>
<tr><td style="width: 25%;"><a href="setGroupGeneric.html">setGroupGeneric</a></td>
<td>Create a Group Generic Version of a Function</td></tr>
<tr><td style="width: 25%;"><a href="setIs.html">setIs</a></td>
<td>Specify a Superclass Explicitly</td></tr>
<tr><td style="width: 25%;"><a href="setLoadActions.html">setLoadAction</a></td>
<td>Set Actions For Package Loading</td></tr>
<tr><td style="width: 25%;"><a href="setLoadActions.html">setLoadActions</a></td>
<td>Set Actions For Package Loading</td></tr>
<tr><td style="width: 25%;"><a href="setMethod.html">setMethod</a></td>
<td>Create and Save a Method</td></tr>
<tr><td style="width: 25%;"><a href="setOldClass.html">setOldClass</a></td>
<td>Register Old-Style (S3) Classes and Inheritance</td></tr>
<tr><td style="width: 25%;"><a href="getPackageName.html">setPackageName</a></td>
<td>The Name associated with a Given Package</td></tr>
<tr><td style="width: 25%;"><a href="refClass.html">setRefClass</a></td>
<td>Objects With Fields Treated by Reference (OOP-style)</td></tr>
<tr><td style="width: 25%;"><a href="GenericFunctions.html">setReplaceMethod</a></td>
<td>Tools for Managing Generic Functions</td></tr>
<tr><td style="width: 25%;"><a href="validObject.html">setValidity</a></td>
<td>Test the Validity of an Object</td></tr>
<tr><td style="width: 25%;"><a href="show.html">show</a></td>
<td>Show an Object</td></tr>
<tr><td style="width: 25%;"><a href="StructureClasses.html">show-method</a></td>
<td>Classes Corresponding to Basic Structures</td></tr>
<tr><td style="width: 25%;"><a href="TraceClasses.html">show-method</a></td>
<td>Classes Used Internally to Control Tracing</td></tr>
<tr><td style="width: 25%;"><a href="refClass.html">show-method</a></td>
<td>Objects With Fields Treated by Reference (OOP-style)</td></tr>
<tr><td style="width: 25%;"><a href="show.html">show-method</a></td>
<td>Show an Object</td></tr>
<tr><td style="width: 25%;"><a href="signature-class.html">show-method</a></td>
<td>Class '"signature"' For Method Definitions</td></tr>
<tr><td style="width: 25%;"><a href="show.html">show-methods</a></td>
<td>Show an Object</td></tr>
<tr><td style="width: 25%;"><a href="showMethods.html">showMethods</a></td>
<td>Show all the methods for the specified function(s) or class</td></tr>
<tr><td style="width: 25%;"><a href="GenericFunctions.html">signature</a></td>
<td>Tools for Managing Generic Functions</td></tr>
<tr><td style="width: 25%;"><a href="signature-class.html">signature-class</a></td>
<td>Class '"signature"' For Method Definitions</td></tr>
<tr><td style="width: 25%;"><a href="BasicClasses.html">single-class</a></td>
<td>Classes Corresponding to Basic Data Types</td></tr>
<tr><td style="width: 25%;"><a href="slot.html">slot</a></td>
<td>The Slots in an Object from a Formal Class</td></tr>
<tr><td style="width: 25%;"><a href="slot.html">slot&lt;-</a></td>
<td>The Slots in an Object from a Formal Class</td></tr>
<tr><td style="width: 25%;"><a href="slot.html">slotNames</a></td>
<td>The Slots in an Object from a Formal Class</td></tr>
<tr><td style="width: 25%;"><a href="S3Part.html">slotsFromS3</a></td>
<td>S4 Classes that Contain S3 Classes</td></tr>
<tr><td style="width: 25%;"><a href="setOldClass.html">socket-class</a></td>
<td>Register Old-Style (S3) Classes and Inheritance</td></tr>
<tr><td style="width: 25%;"><a href="evalSource.html">sourceEnvironment-class</a></td>
<td>Use Function Definitions from a Source File without Reinstalling a Package</td></tr>
<tr><td style="width: 25%;"><a href="BasicClasses.html">special-class</a></td>
<td>Classes Corresponding to Basic Data Types</td></tr>
<tr><td style="width: 25%;"><a href="StructureClasses.html">structure-class</a></td>
<td>Classes Corresponding to Basic Structures</td></tr>
<tr><td style="width: 25%;"><a href="S4groupGeneric.html">Summary</a></td>
<td>S4 Group Generic Functions</td></tr>
<tr><td style="width: 25%;"><a href="setOldClass.html">summary.table-class</a></td>
<td>Register Old-Style (S3) Classes and Inheritance</td></tr>
<tr><td style="width: 25%;"><a href="setOldClass.html">summaryDefault-class</a></td>
<td>Register Old-Style (S3) Classes and Inheritance</td></tr>
<tr><td style="width: 25%;"><a href="refClass.html">SuperClassMethod-class</a></td>
<td>Objects With Fields Treated by Reference (OOP-style)</td></tr>
</table>
<h2><a id="T">-- T --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="setOldClass.html">table-class</a></td>
<td>Register Old-Style (S3) Classes and Inheritance</td></tr>
<tr><td style="width: 25%;"><a href="testInheritedMethods.html">testInheritedMethods</a></td>
<td>Test for and Report about Selection of Inherited Methods</td></tr>
<tr><td style="width: 25%;"><a href="TraceClasses.html">traceable-class</a></td>
<td>Classes Used Internally to Control Tracing</td></tr>
<tr><td style="width: 25%;"><a href="StructureClasses.html">ts-class</a></td>
<td>Classes Corresponding to Basic Structures</td></tr>
</table>
<h2><a id="U">-- U --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="refClass.html">uninitializedField-class</a></td>
<td>Objects With Fields Treated by Reference (OOP-style)</td></tr>
</table>
<h2><a id="V">-- V --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="validObject.html">validObject</a></td>
<td>Test the Validity of an Object</td></tr>
<tr><td style="width: 25%;"><a href="BasicClasses.html">vector-class</a></td>
<td>Classes Corresponding to Basic Data Types</td></tr>
<tr><td style="width: 25%;"><a href="BasicClasses.html">VIRTUAL-class</a></td>
<td>Classes Corresponding to Basic Data Types</td></tr>
</table>
<h2><a id="W">-- W --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="LanguageClasses.html">while-class</a></td>
<td>Classes to Represent Unevaluated Language Objects</td></tr>
</table>
<h2><a id="misc">-- misc --</a></h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="stdRefClass.html">$-method</a></td>
<td>Class '"envRefClass"'</td></tr>
<tr><td style="width: 25%;"><a href="localRefClass.html">$&lt;--method</a></td>
<td>Localized Objects based on Reference Classes</td></tr>
<tr><td style="width: 25%;"><a href="stdRefClass.html">$&lt;--method</a></td>
<td>Class '"envRefClass"'</td></tr>
<tr><td style="width: 25%;"><a href="LanguageClasses.html">(-class</a></td>
<td>Classes to Represent Unevaluated Language Objects</td></tr>
<tr><td style="width: 25%;"><a href="zBasicFunsList.html">.BasicFunsList</a></td>
<td>List of Builtin and Special Functions</td></tr>
<tr><td style="width: 25%;"><a href="TraceClasses.html">.doTracePrint</a></td>
<td>Classes Used Internally to Control Tracing</td></tr>
<tr><td style="width: 25%;"><a href="Classes_Details.html">.environment-class</a></td>
<td>Class Definitions</td></tr>
<tr><td style="width: 25%;"><a href="Classes_Details.html">.externalptr-class</a></td>
<td>Class Definitions</td></tr>
<tr><td style="width: 25%;"><a href="slot.html">.hasSlot</a></td>
<td>The Slots in an Object from a Formal Class</td></tr>
<tr><td style="width: 25%;"><a href="TraceClasses.html">.InitTraceFunctions</a></td>
<td>Classes Used Internally to Control Tracing</td></tr>
<tr><td style="width: 25%;"><a href="TraceClasses.html">.makeTracedFunction</a></td>
<td>Classes Used Internally to Control Tracing</td></tr>
<tr><td style="width: 25%;"><a href="Classes_Details.html">.name-class</a></td>
<td>Class Definitions</td></tr>
<tr><td style="width: 25%;"><a href="Classes_Details.html">.NULL-class</a></td>
<td>Class Definitions</td></tr>
<tr><td style="width: 25%;"><a href="setOldClass.html">.OldClassesList</a></td>
<td>Register Old-Style (S3) Classes and Inheritance</td></tr>
<tr><td style="width: 25%;"><a href="testInheritedMethods.html">.Other-class</a></td>
<td>Test for and Report about Selection of Inherited Methods</td></tr>
<tr><td style="width: 25%;"><a href="showMethods.html">.S4methods</a></td>
<td>Show all the methods for the specified function(s) or class</td></tr>
<tr><td style="width: 25%;"><a href="selectSuperClasses.html">.selectSuperClasses</a></td>
<td>Super Classes (of Specific Kinds) of a Class</td></tr>
<tr><td style="width: 25%;"><a href="setOldClass.html">.setOldIs</a></td>
<td>Register Old-Style (S3) Classes and Inheritance</td></tr>
<tr><td style="width: 25%;"><a href="slot.html">.slotNames</a></td>
<td>The Slots in an Object from a Formal Class</td></tr>
<tr><td style="width: 25%;"><a href="TraceClasses.html">.untracedFunction</a></td>
<td>Classes Used Internally to Control Tracing</td></tr>
<tr><td style="width: 25%;"><a href="LanguageClasses.html">&lt;--class</a></td>
<td>Classes to Represent Unevaluated Language Objects</td></tr>
<tr><td style="width: 25%;"><a href="Classes_Details.html">__ClassMetaData</a></td>
<td>Class Definitions</td></tr>
<tr><td style="width: 25%;"><a href="LanguageClasses.html">{-class</a></td>
<td>Classes to Represent Unevaluated Language Objects</td></tr>
</table>
</div></body></html>
@media screen {
.container {
padding-right: 10px;
padding-left: 10px;
margin-right: auto;
margin-left: auto;
max-width: 900px;
}
}
.rimage img { /* from knitr - for examples and demos */
width: 96%;
margin-left: 2%;
}
.katex { font-size: 1.1em; }
code {
color: inherit;
background: inherit;
}
body {
line-height: 1.4;
background: white;
color: black;
}
a:link {
background: white;
color: blue;
}
a:visited {
background: white;
color: rgb(50%, 0%, 50%);
}
h1 {
background: white;
color: rgb(55%, 55%, 55%);
font-family: monospace;
font-size: 1.4em; /* x-large; */
text-align: center;
}
h2 {
background: white;
color: rgb(40%, 40%, 40%);
font-family: monospace;
font-size: 1.2em; /* large; */
text-align: center;
}
h3 {
background: white;
color: rgb(40%, 40%, 40%);
font-family: monospace;
font-size: 1.2em; /* large; */
}
h4 {
background: white;
color: rgb(40%, 40%, 40%);
font-family: monospace;
font-style: italic;
font-size: 1.2em; /* large; */
}
h5 {
background: white;
color: rgb(40%, 40%, 40%);
font-family: monospace;
}
h6 {
background: white;
color: rgb(40%, 40%, 40%);
font-family: monospace;
font-style: italic;
}
img.toplogo {
width: 4em;
vertical-align: middle;
}
img.arrow {
width: 30px;
height: 30px;
border: 0;
}
span.acronym {
font-size: small;
}
span.env {
font-family: monospace;
}
span.file {
font-family: monospace;
}
span.option{
font-family: monospace;
}
span.pkg {
font-weight: bold;
}
span.samp{
font-family: monospace;
}
div.vignettes a:hover {
background: rgb(85%, 85%, 85%);
}
tr {
vertical-align: top;
}
span.rlang {
font-family: Courier New, Courier;
color: #666666;
}

View file

@ -0,0 +1 @@
{"files":[{"filename":"/00Index.html","start":0,"end":41434},{"filename":"/R.css","start":41434,"end":43278}],"remote_package_size":43278}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1 @@
{"files":[{"filename":"/S3.R","start":0,"end":746},{"filename":"/basicRefClass.R","start":746,"end":18893},{"filename":"/duplicateClass.R","start":18893,"end":20164},{"filename":"/envRefClass.R","start":20164,"end":20864},{"filename":"/fieldAssignments.R","start":20864,"end":21700},{"filename":"/mixinInitialize.R","start":21700,"end":24425},{"filename":"/namesAndSlots.R","start":24425,"end":25187},{"filename":"/nextWithDots.R","start":25187,"end":25829},{"filename":"/refClassExample.R","start":25829,"end":27304},{"filename":"/testConditionalIs.R","start":27304,"end":28362},{"filename":"/testGroupGeneric.R","start":28362,"end":30962},{"filename":"/testIs.R","start":30962,"end":32993}],"remote_package_size":32993}

View file

@ -0,0 +1 @@
{"files":[{"filename":"/DESCRIPTION","start":0,"end":579},{"filename":"/INDEX","start":579,"end":1493},{"filename":"/Meta/Rd.rds","start":1493,"end":2478},{"filename":"/Meta/features.rds","start":2478,"end":2609},{"filename":"/Meta/hsearch.rds","start":2609,"end":3630},{"filename":"/Meta/links.rds","start":3630,"end":4152},{"filename":"/Meta/nsInfo.rds","start":4152,"end":4787},{"filename":"/Meta/package.rds","start":4787,"end":5498},{"filename":"/NAMESPACE","start":5498,"end":6874},{"filename":"/R/parallel","start":6874,"end":7932},{"filename":"/R/parallel.rdb","start":7932,"end":54126},{"filename":"/R/parallel.rdx","start":54126,"end":55892},{"filename":"/doc/parallel.pdf","start":55892,"end":196274},{"filename":"/help/AnIndex","start":196274,"end":197327},{"filename":"/help/aliases.rds","start":197327,"end":197795},{"filename":"/help/parallel.rdb","start":197795,"end":274394},{"filename":"/help/parallel.rdx","start":274394,"end":274853},{"filename":"/help/paths.rds","start":274853,"end":275128},{"filename":"/html/00Index.html","start":275128,"end":282057},{"filename":"/html/R.css","start":282057,"end":283901},{"filename":"/libs/parallel.so","start":283901,"end":294858},{"filename":"/tests/Master.R","start":294858,"end":295890},{"filename":"/tests/RSeed.R","start":295890,"end":296624},{"filename":"/tests/multicore1.RR","start":296624,"end":296902},{"filename":"/tests/multicore2.RR","start":296902,"end":297516},{"filename":"/tests/multicore2.Rout.save","start":297516,"end":299295},{"filename":"/tests/multicore3.RR","start":299295,"end":299531},{"filename":"/tests/snow1.RR","start":299531,"end":300660},{"filename":"/tests/snow2.RR","start":300660,"end":301283},{"filename":"/tests/snow2.Rout.save","start":301283,"end":303112}],"remote_package_size":303112}

View file

@ -0,0 +1 @@
{"files":[{"filename":"/AnIndex","start":0,"end":541},{"filename":"/aliases.rds","start":541,"end":793},{"filename":"/paths.rds","start":793,"end":1058},{"filename":"/splines.rdb","start":1058,"end":41213},{"filename":"/splines.rdx","start":41213,"end":41691}],"remote_package_size":41691}

View file

@ -0,0 +1,199 @@
<!DOCTYPE html>
<html>
<head><title>R: Regression Spline Functions and Classes</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
<link rel="stylesheet" type="text/css" href="R.css" />
</head><body><div class="container">
<h1> Regression Spline Functions and Classes
<img class="toplogo" src="../../../doc/html/Rlogo.svg" alt="[R logo]" />
</h1>
<hr/>
<div style="text-align: center;">
<a href="../../../doc/html/packages.html"><img class="arrow" src="../../../doc/html/left.jpg" alt="[Up]" /></a>
<a href="../../../doc/html/index.html"><img class="arrow" src="../../../doc/html/up.jpg" alt="[Top]" /></a>
</div><h2>Documentation for package &lsquo;splines&rsquo; version 4.3.0</h2>
<ul><li><a href="../DESCRIPTION">DESCRIPTION file</a>.</li>
</ul>
<h2>Help Pages</h2>
<table style="width: 100%;">
<tr><td style="width: 25%;"><a href="splines-package.html">splines-package</a></td>
<td>Regression Spline Functions and Classes</td></tr>
<tr><td style="width: 25%;"><a href="polySpline.html">as.polySpline</a></td>
<td>Piecewise Polynomial Spline Representation</td></tr>
<tr><td style="width: 25%;"><a href="asVector.html">asVector</a></td>
<td>Coerce an Object to a Vector</td></tr>
<tr><td style="width: 25%;"><a href="backSpline.html">backSpline</a></td>
<td>Monotone Inverse Spline</td></tr>
<tr><td style="width: 25%;"><a href="bs.html">bs</a></td>
<td>B-Spline Basis for Polynomial Splines</td></tr>
<tr><td style="width: 25%;"><a href="interpSpline.html">interpSpline</a></td>
<td>Create an Interpolation Spline</td></tr>
<tr><td style="width: 25%;"><a href="ns.html">ns</a></td>
<td>Generate a Basis Matrix for Natural Cubic Splines</td></tr>
<tr><td style="width: 25%;"><a href="periodicSpline.html">periodicSpline</a></td>
<td>Create a Periodic Interpolation Spline</td></tr>
<tr><td style="width: 25%;"><a href="polySpline.html">polySpline</a></td>
<td>Piecewise Polynomial Spline Representation</td></tr>
<tr><td style="width: 25%;"><a href="predict.bs.html">predict.bs</a></td>
<td>Evaluate a Spline Basis</td></tr>
<tr><td style="width: 25%;"><a href="predict.bSpline.html">predict.bSpline</a></td>
<td>Evaluate a Spline at New Values of x</td></tr>
<tr><td style="width: 25%;"><a href="predict.bSpline.html">predict.nbSpline</a></td>
<td>Evaluate a Spline at New Values of x</td></tr>
<tr><td style="width: 25%;"><a href="predict.bSpline.html">predict.npolySpline</a></td>
<td>Evaluate a Spline at New Values of x</td></tr>
<tr><td style="width: 25%;"><a href="predict.bs.html">predict.ns</a></td>
<td>Evaluate a Spline Basis</td></tr>
<tr><td style="width: 25%;"><a href="predict.bSpline.html">predict.pbSpline</a></td>
<td>Evaluate a Spline at New Values of x</td></tr>
<tr><td style="width: 25%;"><a href="predict.bSpline.html">predict.ppolySpline</a></td>
<td>Evaluate a Spline at New Values of x</td></tr>
<tr><td style="width: 25%;"><a href="splineDesign.html">spline.des</a></td>
<td>Design Matrix for B-splines</td></tr>
<tr><td style="width: 25%;"><a href="splineDesign.html">splineDesign</a></td>
<td>Design Matrix for B-splines</td></tr>
<tr><td style="width: 25%;"><a href="splineKnots.html">splineKnots</a></td>
<td>Knot Vector from a Spline</td></tr>
<tr><td style="width: 25%;"><a href="splineOrder.html">splineOrder</a></td>
<td>Determine the Order of a Spline</td></tr>
<tr><td style="width: 25%;"><a href="splines-package.html">splines</a></td>
<td>Regression Spline Functions and Classes</td></tr>
<tr><td style="width: 25%;"><a href="xyVector.html">xyVector</a></td>
<td>Construct an 'xyVector' Object</td></tr>
</table>
</div></body></html>
@media screen {
.container {
padding-right: 10px;
padding-left: 10px;
margin-right: auto;
margin-left: auto;
max-width: 900px;
}
}
.rimage img { /* from knitr - for examples and demos */
width: 96%;
margin-left: 2%;
}
.katex { font-size: 1.1em; }
code {
color: inherit;
background: inherit;
}
body {
line-height: 1.4;
background: white;
color: black;
}
a:link {
background: white;
color: blue;
}
a:visited {
background: white;
color: rgb(50%, 0%, 50%);
}
h1 {
background: white;
color: rgb(55%, 55%, 55%);
font-family: monospace;
font-size: 1.4em; /* x-large; */
text-align: center;
}
h2 {
background: white;
color: rgb(40%, 40%, 40%);
font-family: monospace;
font-size: 1.2em; /* large; */
text-align: center;
}
h3 {
background: white;
color: rgb(40%, 40%, 40%);
font-family: monospace;
font-size: 1.2em; /* large; */
}
h4 {
background: white;
color: rgb(40%, 40%, 40%);
font-family: monospace;
font-style: italic;
font-size: 1.2em; /* large; */
}
h5 {
background: white;
color: rgb(40%, 40%, 40%);
font-family: monospace;
}
h6 {
background: white;
color: rgb(40%, 40%, 40%);
font-family: monospace;
font-style: italic;
}
img.toplogo {
width: 4em;
vertical-align: middle;
}
img.arrow {
width: 30px;
height: 30px;
border: 0;
}
span.acronym {
font-size: small;
}
span.env {
font-family: monospace;
}
span.file {
font-family: monospace;
}
span.option{
font-family: monospace;
}
span.pkg {
font-weight: bold;
}
span.samp{
font-family: monospace;
}
div.vignettes a:hover {
background: rgb(85%, 85%, 85%);
}
tr {
vertical-align: top;
}
span.rlang {
font-family: Courier New, Courier;
color: #666666;
}

View file

@ -0,0 +1 @@
{"files":[{"filename":"/00Index.html","start":0,"end":3699},{"filename":"/R.css","start":3699,"end":5543}],"remote_package_size":5543}

View file

@ -0,0 +1,331 @@
###----------------- sparse / dense interpSpline() ---------------------------
## This requires recommended package Matrix.
if(!requireNamespace("Matrix", quietly = TRUE)) q()
require("splines")
## from help(interpSpline) -- ../man/interpSpline.Rd
ispl <- interpSpline( women$height, women$weight)
isp. <- interpSpline( women$height, women$weight, sparse=TRUE)
stopifnot(all.equal(ispl, isp., tol = 1e-12)) # seen 1.65e-14
##' @title Interpolate size-n version of the 'women' data sparsely and densely
##' @param n size of "women-like" data to interpolate
##' @return list with dense and sparse \code{\link{system.time}()}s
##' @author Martin Maechler
ipStime <- function(n) { # and using 'ispl'
h <- seq(55, 75, length.out = n)
w <- predict(ispl, h)$y
c.d <- system.time(is.d <- interpSpline(h, w, sparse=FALSE))
c.s <- system.time(is.s <- interpSpline(h, w, sparse=TRUE ))
stopifnot(all.equal(is.d, is.s, tol = 1e-7)) # seen 9.4e-10 (n=1000), 1.3e-7 (n=5000)
list(d.time = c.d, s.time = c.s)
}
n.s <- 25 * round(2^seq(1,6, by=.5))
if(!interactive())# save 'check time'
n.s <- n.s[100 <= n.s & n.s <= 800]
(ipL <- lapply(setNames(n.s, paste0("n=",n.s)), ipStime))
## sparse is *an order of magnitude* faster for n ~= 1000 but somewhat slower for n ~< 200:
sapply(ipL, function(ip) round(ip$d.time / ip$s.time, 1)[c(1,3)])
## n=50 n=75 n=100 n=150 n=200 n=275 n=400 n=575 n=800 n=1125 n=1600 -- nb-mm4, i7-5600U
## user.self 0.5 0.5 0.5 0.5 0.7 2.5 4.3 12.3 33.7 70.5 116.1
## elapsed 0.5 0.3 0.5 0.7 1.0 2.5 4.3 13.0 26.2 57.4 117.3
require("splines")
## Bug report PR#16549 - 'bad value from splineDesign'
## Date: Wed, 30 Sep 2015 12:12:47 +0000
## https://bugs.r-project.org/show_bug.cgi?id=16549
## Reporter: roconnor@health.usf.edu (extended original example code)
kn8.01 <- c(0,0,0,0,1,1,1,1)
m1 <- rbind(c(1, 0,0,0))
m.1 <- rbind(c(0,0,0, 1))
stopifnot(
## the first gave (0 0 0 0) instead of m1 :
all.equal(splineDesign(kn8.01, c(0,2), outer.ok = TRUE), rbind(m1, 0)),
all.equal(splineDesign(kn8.01, c( 0,1,2), outer.ok = TRUE), rbind(m1, m.1, 0)),
all.equal(splineDesign(kn8.01, c(-1,0,1), outer.ok = TRUE), rbind(0, m1, m.1)),
all.equal(splineDesign(kn8.01, 0, outer.ok = TRUE), m1),
all.equal(splineDesign(kn8.01, 0), m1),
TRUE)
## The original fix proposal introduced a new bug, visible here:
S <- splineDesign(c(-3, -3, -2, 0, 2, 3, 3), x= -3:3, outer.ok=TRUE)
## (had a NaN in the lower-right corner)
stopifnot(all.equal(S,
rbind(0, c(22,3,0)/45, c(193, 6*23, 9)/360,
c(1,3,1)/5,
c(9, 6*23, 193)/360,
c(0,3,22)/45, 0),
tolerance = 1e-14))
chkSum.Ok <- TRUE ## for check
chkSum <- function(knots, n = 1 + 2^9, ord = 4) {
stopifnot(is.numeric(knots), !is.unsorted(knots), (n.k <- length(knots)) >= ord)
dk <- diff(rk <- range(uk <- unique(knots)))
if(dk == 0) dk <- uk[1]/4
d.x <- dk / (2*n.k)
## x: the unique knots
x <- sort(c(uk, seq.int(min(knots)-d.x, max(knots)+d.x, length.out = n)))
bb <- splineDesign(knots, x = x, ord = ord, outer.ok = TRUE)
is.x.in <- knots[ord] <= x & x <= knots[n.k-(ord-1)]
## ~~~~ ~~~~ same as in splineDesign(*, outer.ok=TRUE)
##
### no longer needed:
## work around "infelicity" (or not; not sure if to call "bug")
## n.RHk := #{duplicated RHS boundary knots}
## n.RHk <- match(FALSE, rev(duplicated(knots)))
## if(ord > 1 && n.RHk > ord) { ## the (ord == 1) case "works" via spike = 1
## ## <==> knots[n.k -j ] == knots[n.k] for j = 0,1,..,(n.RHk-1)
## ## then spl(x= RHS-knot, knots) == 0, even though "should" be 1
## ## "FIX it up" for here. FIXME: do in splineDesign() or it's C code ?!
## iR <- which(x == knots[n.k])
## ## ncol(bb) == n.k - ord
## j <- n.k - n.RHk # == ncol(bb) - (n.RHk - ord)
## if(any(bb[iR, j] == 0)) bb[iR, j] <- 1
## }
sumB <- rowSums(bb)
if(any(iBad <- !is.finite(sumB))) {
chkSum.Ok <<- FALSE ## for check
cat("** _FIXME_ NON-finite values in sumB: ord = ", ord, "; |knots| =", n.k,"\n")
cat("knots <- "); dput(knots)
cat("non-finite at x = "); dput(x[iBad])
} else if(length(bb)) { # only when bb[] is not 0-dimensional
eps <- 3*.Machine$double.eps
stopifnot(abs(1 - sumB[is.x.in]) <= 2*eps, 0 <= sumB+eps, sumB-2*eps <= 1,
allow.logical0=TRUE)
## TODO: now also check derivatives
}
invisible(bb)
}
plotSplD <- function(knots, n = 2^10, ord = 4, type = "l",
ylim = c(0,1), ylab = "B-splines", ...) {
stopifnot(is.numeric(knots), !is.unsorted(knots), (n.k <- length(knots)) >= ord)
dk <- diff(range(uk <- unique(knots)))
if(dk == 0) dk <- uk[1]/4
d.x <- dk / (2*n.k)
## x: will contain the unique knots uk
x <- sort(c(uk, seq.int(min(knots)-d.x, max(knots)+d.x, length.out = n)))
bb <- splineDesign(knots, x = x, ord = ord, outer.ok = TRUE)
matplot(x, bb, type=type, ylim=ylim, ylab=ylab, ...)
sumB <- rowSums(bb)
abline(v = knots, lty = 3, col = "light gray")
abline(v = knots[c(ord, n.k-(ord-1))], lty = 3, col = "gray10")
lines(x, sumB, col = adjustcolor("red", 0.4), lwd = 3)
abline(h=1, lty=2, col = adjustcolor(1, 0.4), lwd = 2)
## lty, col,: from matplot()
legend(mean(x), 0.98, legend = paste0("B_", 1:ncol(bb)), lty=1:5, col=1:6,
bty = "n", xjust = 0.5)
invisible(list(x=x, splineDesign = bb))
}
if(!dev.interactive(orNone=TRUE)) pdf("spline-tst.pdf")
plotSplD(kn8.01)
chkSum (kn8.01)
## from ../man/splineDesign.Rd :
knots <- c(1,1.8,3:5,6.5,7,8.1,9.2,10) # 10 => 10-4 = 6 Basis splines
str(plotSplD(knots)) # cubic splines, adding to 1 in [ 4, 7 ]
str(plotSplD(knots, ord=3))# quadratic splines, adding to 1 in [ 3, 8.1]
str(plotSplD(knots, ord=2))# linear splines, adding to 1 in [1.8,9.2]
str(plotSplD(knots, ord=1))# constant splines, adding to 1 in [1, 10]
chkSum(knots)
chkSum(knots, ord=3)
chkSum(knots, ord=2)
chkSum(knots, ord=1)
## cases that failed too {Linux lynne 4.1.6 x86_64}
chkSum(c(1:5, 9,9), ord=2) # ok for ord in {1,3,4}
chkSum(c(1:4, 9,9,9), ord=3)
chkSum(c(1:3, 9,9,9,9), ord=4)
## These failed in R <= 3.2.2 (but not after first fix):
chkSum(c(0,0,0,0, 1:3), ord=4)
chkSum(c(0,0,0, 1:4), ord=3)
chkSum(c(0,0, 1:5), ord=2)
## This should be symmetric, but was not;
## the graphic is maybe most convincing:
k6.01 <- c(0,0,0, 1,1,1)
round(with(plotSplD(k6.01, ord=2, n=16), cbind(x, splineDesign)), 4)
x8 <- (0:8)/8
sp8 <- splineDesign(k6.01, x=x8, ord=2)
print.table(8*sp8, zero.print=".")
stopifnot(all.equal(8*sp8,
cbind(0, 8:0, 0:8, 0), tol = 1e-14))
## or just
splineDesign(k6.01, x=0:1, ord=2)
## 0 1 0 0
## 0 0 1 0 --- [finally !]
stopifnot(identical(cbind(0, diag(2), 0),
splineDesign(k6.01, x=0:1, ord=2)))
## Further:
for(k in 0:8)
chkSum(c(0:k, 9,9,9), ord=2)
for(k in 0:8)
chkSum(c(0:k, 9,9,9,9), ord=3)
for(k in 0:8)
chkSum(c(0:k, 9,9,9,9,9), ord=4)
## look at two examples
r <- plotSplD(c(0:4, 8.9,9,9,9), ord=3)# B_6 is narrow spike
r. <- plotSplD(c(0:4, 9, 9,9,9), ord=3)# B_6 diverged to all zero.
if(interactive())
round(with(r., cbind(x, splineDesign)), 4)
stopifnot(r.$splineDesign[, 6] == 0)
## one could argue that B_6 should also have finite area, and hence be "a delta".
## ==> sum_j B_j(x = 9) would then be Inf or undefined ..
## more sensible: B_6 should be omitted and should have B_5(9) == 1
## now implemented:
stopifnot(identical(c(0, 0, 0, 0, 1, 0),
with(r., splineDesign[x == 9,])))
## Everything is fine, if left-right mirrored / reversed :
r03 <- plotSplD(c(0,0,0,0, 1:5), ord=3)
## here, B_1 is "delta" and should rather be omitted
stopifnot(identical(c(0, 1, 0, 0, 0, 0),
with(r03, splineDesign[x == 0,])))
## 0 1 0 0 0 0 -- as it should be ..
round(with(r03, cbind(x, splineDesign)[50:60,]), 4)
r04 <- plotSplD(c(0,0,0,0, 1:5), ord=4)
## here, B_1 is "delta" and should rather be omitted
stopifnot(identical(c(1, 0, 0, 0, 0),
with(r04, splineDesign[x == 0,])))
round(with(r04, cbind(x, splineDesign)[50:60,]), 4)
r0.4 <- plotSplD(c(0,0,0, 1:5), ord=4) # basis is nice and correct
set.seed(17)
for(n in 1:1000) {
if(n %% 50 == 0) cat(sprintf("n = %4d\n",n))
kn <- sort.int(round(10* rnorm(4 + rpois(1, lambda=4))))
for(oo in 1:4)
## if(inherits(r <- tryCatch(chkSum(kn, ord=oo), error=identity), "error"))
## cat(r$message, "\n chkSum(", deparse(kn), ", ord = ", oo, ")\n")
chkSum(kn, ord = oo)
}
## One of the cases with NaN {when used ( . <= x & x <= . )}:
bb <- chkSum(c(-14, -4, 3, 5, 6, 15, 15))
stopifnot(is.finite(rowSums(bb)))
stopifnot(chkSum.Ok)
proc.time()
###---- "Bug report" (to R-core) from Trevor Hastie ---
###----> bs(*, Boundary.knots = .)
### needing boundary ajustment for correct extrapolation
## Trevor's Example, slightly modified and extended:
x <- seq(1.5, 8.5, by = 1/4)
set.seed(13)
y <- x + .01*(x - 5)^3 + rnorm(x)
fit0 <- lm(y ~ bs(x, degree=3, knots=4))
fit0.<- lm(y ~ bs(x, degree=3, knots=4, Boundary.knots=c(1,9)))# *NOT* outside
fit1 <- lm(y ~ bs(x, degree=3, knots=4, Boundary.knots=c(1,8)))# warning
fit2 <- lm(y ~ bs(x, degree=3, knots=4, Boundary.knots=c(2,8)))# warning "2 x"
jx <- seq(from=-2,to=12, by=0.1)
p0 <- predict(fit0, list(x=jx))
p0.<- predict(fit0, list(x=jx))
p1 <- predict(fit1, list(x=jx))
p2 <- predict(fit2, list(x=jx))
stopifnot(all.equal(p0, p0.,tol=1e-14),
all.equal(p0, p1, tol=1e-14),
all.equal(p0, p2, tol=1e-14))
## ^^ p1 and p2 differed from p0 in R <= 3.2.2
## See numerical fuzz:
all.equal(p0, p0., tol=0)
all.equal(p0, p1, tol=0)
all.equal(p0, p2, tol=0)
all.equal(p1, p2, tol=0)# interestingly almost the same
## formula ==> print for default method
ispl <- with(women, interpSpline( height, weight ))
stopifnot(identical(format(formula(ispl)),
"weight ~ height")) ## was wrongly .Primitive(\"~\")(wei...
###------------- Problems for small n ------- want at least good error messages ---
## This gives an error, but not a "human readable" one for k <= 3
## -- now done: the English error message is "must have at least 'ord'=4 points"
## FIXME: Would like to get degree=0 (constant), 1, 2 interpolation spline here
## (and could use degree = 0 for both n=0 and n=1) ==> would have *no* error here
for(n in 0:4) {
cat("n = ", n,": ")
x <- cumsum(pmax(1, round(10*runif(n)))) # pmax(1,*): x[] must be distinct
y <- (x - 2)^2 + round(8*rnorm(n))/4
if(!inherits(sp <- try(interpSpline(x,y)), "try-error")) print(sp)
cat("-------------------------------\n")
}
## for n=4:
stopifnot(inherits(sp, "polySpline"), is.matrix(sp$coefficients),
identical(dim(sp$coefficients), c(4L, 4L)))
## This also gives a "hard to read" error _FIXME_
try(ns(1[0])) # n = 0
## Error in splineDesign(Aknots, x, ord) :
## length of 'derivs' is larger than length of 'x' -- barely ok + 2 warnings
try(bs(1[0])) # n = 0 : same error etc as ns()
(b1 <- bs(pi)) # n = 1 : works fine
(n1 <- ns(pi)) # n = 1 : now ok; gave error: "qr.default(.. NA ...)"
##' keep {dim, dimnames} but nothing else :
noAttr <- function(x) `mostattributes<-`(x, list(dim=dim(x), dimnames=dimnames(x)))
stopifnot(
identical(noAttr(b1), rbind(c(`1`=0, `2`=0, `3`=0))),
all.equal(noAttr(n1), matrix(0.400891862868637, 1, dimnames=list(NULL,"1")),
tol = 5e-15))
d1 <- data.frame(u = 2, Y = 5) ## data set with 1 observation
summary(mbs <- lm(Y ~ bs(u), data=d1)) # fine though many coef etc are NA
summary(mbs1 <- lm(Y ~ bs(u, degree=1), data=d1)) # ok
stopifnot(
identical(coef(mbs), setNames(c(5, NA, NA, NA),
c("(Intercept)", paste0("bs(u)", 1:3))))
,
identical(coef(mbs1), c("(Intercept)" = 5, "bs(u, degree = 1)" = NA)))
if(FALSE)
summary(mbs0 <- lm(Y ~ bs(u, degree=0), data=d1)) # error: degree >= 1
## ns() has no 'degree' argument!
summary(mns <- lm(Y ~ ns(u), data=d1)) ## gave Error; now ok
stopifnot(identical(coef(mns), c("(Intercept)" = 5, "ns(u)" = NA))
## perfect prediction: all residuals == 0 :
, identical(residuals(mns), c(`1` = 0))
, identical(residuals(mbs), c(`1` = 0))
, identical(residuals(mbs1),c(`1` = 0))
)
## [Bug 18442] ns() fails when quantiles end up on the boundary (2022-12-05)
## ========= ---- 1st example ===> <R>/tests/reg-tests-1e.R 'ns(nn,4)'
##
## a (more extreme) example where bs() is affected similarly:
require(splines)
##
x <- c(rep(0L, 44), 1:10, 2L*(6:15), as.integer(round(1.25^(15:22))))
y <- 10L*x + c(-1L,1L)
B <- bs(x, df = 7)
summary(m <- lm(y ~ B))
stopifnot(exprs = {
qr(B)$rank == 7
all.equal(c(0, 0.03265, 20.53, 21.79, 73.27, 519.8, 964.3, 1361),
unname(coef(m)), tol = 1e-4)
})
## rank was 5, and coef(m) had 3 NA's in R <= 4.2.x

View file

@ -0,0 +1 @@
{"files":[{"filename":"/sparse-tst.R","start":0,"end":1617},{"filename":"/spline-tst.R","start":1617,"end":12877}],"remote_package_size":12877}

View file

@ -0,0 +1,317 @@
# Copyright (C) 1997-2009 The R Core Team
#### -*- R -*-
require(stats)
Fr <- c(68,42,42,30, 37,52,24,43,
66,50,33,23, 47,55,23,47,
63,53,29,27, 57,49,19,29)
Temp <- gl(2, 2, 24, labels = c("Low", "High"))
Soft <- gl(3, 8, 24, labels = c("Hard","Medium","Soft"))
M.user <- gl(2, 4, 24, labels = c("N", "Y"))
Brand <- gl(2, 1, 24, labels = c("X", "M"))
detg <- data.frame(Fr,Temp, Soft,M.user, Brand)
detg.m0 <- glm(Fr ~ M.user*Temp*Soft + Brand, family = poisson, data = detg)
summary(detg.m0)
detg.mod <- glm(terms(Fr ~ M.user*Temp*Soft + Brand*M.user*Temp,
keep.order = TRUE),
family = poisson, data = detg)
summary(detg.mod)
summary(detg.mod, correlation = TRUE, symbolic.cor = TRUE)
anova(detg.m0, detg.mod)
### Examples from: "An Introduction to Statistical Modelling"
### By Annette Dobson
###
### == with some additions ==
# Copyright (C) 1997-2015 The R Core Team
require(stats); require(graphics)
## Plant Weight Data (Page 9)
ctl <- c(4.17,5.58,5.18,6.11,4.50,4.61,5.17,4.53,5.33,5.14)
trt <- c(4.81,4.17,4.41,3.59,5.87,3.83,6.03,4.89,4.32,4.69)
group <- gl(2,10, labels=c("Ctl","Trt"))
weight <- c(ctl,trt)
anova (lm(weight~group))
summary(lm(weight~group -1))
## Birth Weight Data (Page 14)
age <- c(40, 38, 40, 35, 36, 37, 41, 40, 37, 38, 40, 38,
40, 36, 40, 38, 42, 39, 40, 37, 36, 38, 39, 40)
birthw <- c(2968, 2795, 3163, 2925, 2625, 2847, 3292, 3473, 2628, 3176,
3421, 2975, 3317, 2729, 2935, 2754, 3210, 2817, 3126, 2539,
2412, 2991, 2875, 3231)
sex <- gl(2,12, labels=c("M","F"))
plot(age, birthw, col=as.numeric(sex), pch=3*as.numeric(sex),
main="Dobson's Birth Weight Data")
lines(lowess(age[sex=='M'], birthw[sex=='M']), col=1)
lines(lowess(age[sex=='F'], birthw[sex=='F']), col=2)
legend("topleft", levels(sex), col=1:2, pch=3*(1:2), lty=1, bty="n")
summary(l1 <- lm(birthw ~ sex + age), correlation=TRUE)
summary(l0 <- lm(birthw ~ sex + age -1), correlation=TRUE)
anova(l1,l0)
summary(li <- lm(birthw ~ sex + sex:age -1), correlation=TRUE)
anova(li,l0)
summary(zi <- glm(birthw ~ sex + age, family=gaussian()))
summary(z0 <- glm(birthw ~ sex + age - 1, family=gaussian()))
anova(zi, z0)
summary(z.o4 <- update(z0, subset = -4))
summary(zz <- update(z0, birthw ~ sex+age-1 + sex:age))
anova(z0,zz)
## Poisson Regression Data (Page 42)
x <- c(-1,-1,0,0,0,0,1,1,1)
y <- c(2,3,6,7,8,9,10,12,15)
summary(glm(y~x, family=poisson(link="identity")))
## Calorie Data (Page 45)
calorie <- data.frame(
carb = c(33,40,37,27,30,43,34,48,30,38,
50,51,30,36,41,42,46,24,35,37),
age = c(33,47,49,35,46,52,62,23,32,42,
31,61,63,40,50,64,56,61,48,28),
wgt = c(100, 92,135,144,140,101, 95,101, 98,105,
108, 85,130,127,109,107,117,100,118,102),
prot = c(14,15,18,12,15,15,14,17,15,14,
17,19,19,20,15,16,18,13,18,14))
summary(lmcal <- lm(carb~age+wgt+prot, data= calorie))
## Extended Plant Data (Page 59)
ctl <- c(4.17,5.58,5.18,6.11,4.50,4.61,5.17,4.53,5.33,5.14)
trtA <- c(4.81,4.17,4.41,3.59,5.87,3.83,6.03,4.89,4.32,4.69)
trtB <- c(6.31,5.12,5.54,5.50,5.37,5.29,4.92,6.15,5.80,5.26)
group <- gl(3, length(ctl), labels=c("Ctl","A","B"))
weight <- c(ctl,trtA,trtB)
anova(lmwg <- lm(weight~group))
summary(lmwg)
coef(lmwg)
coef(summary(lmwg))#- incl. std.err, t- and P- values.
## Fictitious Anova Data (Page 64)
y <- c(6.8,6.6,5.3,6.1,7.5,7.4,7.2,6.5,7.8,9.1,8.8,9.1)
a <- gl(3,4)
b <- gl(2,2, length(a))
anova(z <- lm(y~a*b))
## Achievement Scores (Page 70)
y <- c(6,4,5,3,4,3,6, 8,9,7,9,8,5,7, 6,7,7,7,8,5,7)
x <- c(3,1,3,1,2,1,4, 4,5,5,4,3,1,2, 3,2,2,3,4,1,4)
m <- gl(3,7)
anova(z <- lm(y~x+m))
## Beetle Data (Page 78)
dose <- c(1.6907, 1.7242, 1.7552, 1.7842, 1.8113, 1.8369, 1.861, 1.8839)
x <- c( 6, 13, 18, 28, 52, 53, 61, 60)
n <- c(59, 60, 62, 56, 63, 59, 62, 60)
dead <- cbind(x, n-x)
summary( glm(dead ~ dose, family=binomial(link=logit)))
summary( glm(dead ~ dose, family=binomial(link=probit)))
summary(z <- glm(dead ~ dose, family=binomial(link=cloglog)))
anova(z, update(z, dead ~ dose -1))
## Anther Data (Page 84)
## Note that the proportions below are not exactly
## in accord with the sample sizes quoted below.
## In particular, the last value, 5/9, should have been 0.556 instead of 0.555:
n <- c(102, 99, 108, 76, 81, 90)
p <- c(0.539,0.525,0.528,0.724,0.617,0.555)
x <- round(n*p)
## x <- n*p
y <- cbind(x,n-x)
f <- rep(c(40,150,350),2)
(g <- gl(2,3))
summary(glm(y ~ g*f, family=binomial(link="logit")))
summary(glm(y ~ g + f, family=binomial(link="logit")))
## The "final model"
summary(glm.p84 <- glm(y~g, family=binomial(link="logit")))
op <- par(mfrow = c(2,2), oma = c(0,0,1,0))
plot(glm.p84) # well ?
par(op)
## Tumour Data (Page 92)
counts <- c(22,2,10,16,54,115,19,33,73,11,17,28)
type <- gl(4,3,12,labels=c("freckle","superficial","nodular","indeterminate"))
site <- gl(3,1,12,labels=c("head/neck","trunk","extremities"))
data.frame(counts,type,site)
summary(z <- glm(counts ~ type + site, family=poisson()))
## Randomized Controlled Trial (Page 93)
counts <- c(18,17,15, 20,10,20, 25,13,12)
outcome <- gl(3, 1, length(counts))
treatment <- gl(3, 3)
summary(z <- glm(counts ~ outcome + treatment, family=poisson()))
## Peptic Ulcers and Blood Groups
counts <- c(579, 4219, 911, 4578, 246, 3775, 361, 4532, 291, 5261, 396, 6598)
group <- gl(2, 1, 12, labels=c("cases","controls"))
blood <- gl(2, 2, 12, labels=c("A","O"))
city <- gl(3, 4, 12, labels=c("London","Manchester","Newcastle"))
cbind(group, blood, city, counts) # gives internal codes for the factors
summary(z1 <- glm(counts ~ group*(city + blood), family=poisson()))
summary(z2 <- glm(counts ~ group*city + blood, family=poisson()),
correlation = TRUE)
anova(z2, z1, test = "Chisq")
# Copyright (C) 1997-2009, 2017 The R Core Team
### Helical Valley Function
### Page 362 Dennis + Schnabel
require(stats); require(graphics); require(utils)
theta <- function(x1,x2) (atan(x2/x1) + (if(x1 <= 0) pi else 0))/ (2*pi)
## but this is easier :
theta <- function(x1,x2) atan2(x2, x1)/(2*pi)
f <- function(x) {
f1 <- 10*(x[3] - 10*theta(x[1],x[2]))
f2 <- 10*(sqrt(x[1]^2+x[2]^2)-1)
f3 <- x[3]
return(f1^2 + f2^2 + f3^2)
}
## explore surface {at x3 = 0}
x <- seq(-1, 2, length.out=50)
y <- seq(-1, 1, length.out=50)
z <- apply(as.matrix(expand.grid(x, y)), 1, function(x) f(c(x, 0)))
contour(x, y, matrix(log10(z), 50, 50))
str(nlm.f <- nlm(f, c(-1,0,0), hessian = TRUE))
points(rbind(nlm.f$estim[1:2]), col = "red", pch = 20)
stopifnot(all.equal(nlm.f$estimate, c(1, 0, 0)))
### the Rosenbrock banana valley function
fR <- function(x)
{
x1 <- x[1]; x2 <- x[2]
100*(x2 - x1*x1)^2 + (1-x1)^2
}
## explore surface
fx <- function(x)
{ ## `vectorized' version of fR()
x1 <- x[,1]; x2 <- x[,2]
100*(x2 - x1*x1)^2 + (1-x1)^2
}
x <- seq(-2, 2, length.out=100)
y <- seq(-0.5, 1.5, length.out=100)
z <- fx(expand.grid(x, y))
op <- par(mfrow = c(2,1), mar = 0.1 + c(3,3,0,0))
contour(x, y, matrix(log10(z), length(x)))
str(nlm.f2 <- nlm(fR, c(-1.2, 1), hessian = TRUE))
points(rbind(nlm.f2$estim[1:2]), col = "red", pch = 20)
## Zoom in :
rect(0.9, 0.9, 1.1, 1.1, border = "orange", lwd = 2)
x <- y <- seq(0.9, 1.1, length.out=100)
z <- fx(expand.grid(x, y))
contour(x, y, matrix(log10(z), length(x)))
mtext("zoomed in");box(col = "orange")
points(rbind(nlm.f2$estim[1:2]), col = "red", pch = 20)
par(op)
with(nlm.f2,
stopifnot(all.equal(estimate, c(1,1), tol = 1e-5),
minimum < 1e-11, abs(gradient) < 1e-6, code %in% 1:2))
fg <- function(x)
{
gr <- function(x1, x2)
c(-400*x1*(x2 - x1*x1)-2*(1-x1), 200*(x2 - x1*x1))
x1 <- x[1]; x2 <- x[2]
structure(100*(x2 - x1*x1)^2 + (1-x1)^2,
gradient = gr(x1, x2))
}
nfg <- nlm(fg, c(-1.2, 1), hessian = TRUE)
str(nfg)
with(nfg,
stopifnot(minimum < 1e-17, all.equal(estimate, c(1,1)),
abs(gradient) < 1e-7, code %in% 1:2))
## or use deriv to find the derivatives
fd <- deriv(~ 100*(x2 - x1*x1)^2 + (1-x1)^2, c("x1", "x2"))
fdd <- function(x1, x2) {}
body(fdd) <- fd
nlfd <- nlm(function(x) fdd(x[1], x[2]), c(-1.2,1), hessian = TRUE)
str(nlfd)
with(nlfd,
stopifnot(minimum < 1e-17, all.equal(estimate, c(1,1)),
abs(gradient) < 1e-7, code %in% 1:2))
fgh <- function(x)
{
gr <- function(x1, x2)
c(-400*x1*(x2 - x1*x1) - 2*(1-x1), 200*(x2 - x1*x1))
h <- function(x1, x2) {
a11 <- 2 - 400*x2 + 1200*x1*x1
a21 <- -400*x1
matrix(c(a11, a21, a21, 200), 2, 2)
}
x1 <- x[1]; x2 <- x[2]
structure(100*(x2 - x1*x1)^2 + (1-x1)^2,
gradient = gr(x1, x2),
hessian = h(x1, x2))
}
nlfgh <- nlm(fgh, c(-1.2,1), hessian = TRUE)
str(nlfgh)
## NB: This did _NOT_ converge for R version <= 3.4.0
with(nlfgh,
stopifnot(minimum < 1e-15, # see 1.13e-17 .. slightly worse than above
all.equal(estimate, c(1,1), tol=9e-9), # see 1.236e-9
abs(gradient) < 7e-7, code %in% 1:2)) # g[1] = 1.3e-7
### This used to be in example(smooth) before we had package-specific demos
# Copyright (C) 1997-2009 The R Core Team
require(stats); require(graphics); require(datasets)
op <- par(mfrow = c(1,1))
## The help(smooth) examples:
example(smooth, package="stats")
## Didactical investigation:
showSmooth <- function(x, leg.x = 1, leg.y = max(x)) {
ss <- cbind(x, "3c" = smooth(x, "3", end="copy"),
"3" = smooth(x, "3"),
"3Rc" = smooth(x, "3R", end="copy"),
"3R" = smooth(x, "3R"),
sm = smooth(x))
k <- ncol(ss) - 1
n <- length(x)
slwd <- c(1,1,4,1,3,2)
slty <- c(0, 2:(k+1))
matplot(ss, main = "Tukey Smoothers", ylab = "y ; sm(y)",
type= c("p",rep("l",k)), pch= par("pch"), lwd= slwd, lty= slty)
legend(leg.x, leg.y,
c("Data", "3 (copy)", "3 (Tukey)",
"3R (copy)", "3R (Tukey)", "smooth()"),
pch= c(par("pch"),rep(-1,k)), col=1:(k+1), lwd= slwd, lty= slty)
ss
}
## 4 simple didactical examples, showing different steps in smooth():
for(x in list(c(4, 6, 2, 2, 6, 3, 6, 6, 5, 2),
c(3, 2, 1, 4, 5, 1, 3, 2, 4, 5, 2),
c(2, 4, 2, 6, 1, 1, 2, 6, 3, 1, 6),
x1))
print(t(showSmooth(x)))
par(op)

View file

@ -0,0 +1 @@
{"files":[{"filename":"/glm.vr.R","start":0,"end":744},{"filename":"/lm.glm.R","start":744,"end":5737},{"filename":"/nlm.R","start":5737,"end":8987},{"filename":"/smooth.R","start":8987,"end":10269}],"remote_package_size":10269}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1 @@
{"files":[{"filename":"/AnIndex","start":0,"end":16245},{"filename":"/aliases.rds","start":16245,"end":21660},{"filename":"/paths.rds","start":21660,"end":24025},{"filename":"/stats.rdb","start":24025,"end":1622678},{"filename":"/stats.rdx","start":1622678,"end":1629293}],"remote_package_size":1629293}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1 @@
{"files":[{"filename":"/00Index.html","start":0,"end":73369},{"filename":"/R.css","start":73369,"end":75213}],"remote_package_size":75213}

Some files were not shown because too many files have changed in this diff Show more