This function creates a unit object --- a vector of unit values. A unit value is typically just a single numeric value with an associated unit.
unit(x, units, data=NULL)A numeric vector.
A character vector specifying the units for the corresponding numeric values.
This argument is used to supply extra information
    for special unit types.
An object of class "unit".
There is a special function unit.c for concatenating
  several unit objects.
The c function will not give the right answer.
There used to be "mylines", "mychar", "mystrwidth",
  "mystrheight" units.  These will still be accepted, but
  work exactly the same as
  "lines", "char", "strwidth",
  "strheight".
Unit objects allow the user to specify locations and dimensions
  in a large number of different coordinate systems.  All drawing
  occurs relative to a viewport and the units specifies
  what coordinate system to use within that viewport.
Possible units (coordinate systems) are:
"npc"Normalised Parent Coordinates (the default). The origin of the viewport is (0, 0) and the viewport has a width and height of 1 unit. For example, (0.5, 0.5) is the centre of the viewport.
"cm"Centimetres.
"inches"Inches. 1 in = 2.54 cm.
"mm"Millimetres. 10 mm = 1 cm.
"points"Points. 72.27 pt = 1 in.
"picas"Picas. 1 pc = 12 pt.
"bigpts"Big Points. 72 bp = 1 in.
"dida"Dida. 1157 dd = 1238 pt.
"cicero"Cicero. 1 cc = 12 dd.
"scaledpts"Scaled Points. 65536 sp = 1 pt.
"lines"Lines of text.  Locations and dimensions
      are in terms of multiples of the default text size of the viewport
      (as specified by the viewport's fontsize and lineheight).
"char"Multiples of nominal font height of the
      viewport (as specified by the viewport's fontsize).
"native"Locations and dimensions are relative to
      the viewport's xscale and yscale.
"snpc"Square Normalised Parent Coordinates. Same as Normalised Parent Coordinates, except gives the same answer for horizontal and vertical locations/dimensions. It uses the lesser of npc-width and npc-height. This is useful for making things which are a proportion of the viewport, but have to be square (or have a fixed aspect ratio).
"strwidth"Multiples of the width of the string
      specified in the data argument.  The font size is
      determined by the pointsize of the viewport.
"strheight"Multiples of the height of the string
      specified in the data argument.  The font size is
      determined by the pointsize of the viewport.
"grobwidth"Multiples of the width of the grob
      specified in the data argument.
"grobheight"Multiples of the height of the grob
      specified in the data argument.
A number of variations are also allowed for the most common units.
  For example, it is possible to use "in" or "inch"
  instead of "inches" and "centimetre" or
  "centimeter" instead of "cm".
A special units value of "null" is also allowed,
  but only makes sense when used in specifying widths of columns
  or heights of rows in grid layouts (see grid.layout).
The data argument must be a list when the unit.length()
  is greater than 1.  For example,
  unit(rep(1, 3), c("npc", "strwidth", "inches"),
  data = list(NULL, "my string", NULL))
.
It is possible to subset unit objects in the normal way and to perform
  subassignment (see the examples),
  but a special function
  unit.c is provided for combining unit objects.
Certain arithmetic and summary operations are defined for
  unit objects.  In particular, it is possible to add and subtract
  unit objects (e.g., unit(1, "npc") - unit(1, "inches")),
  and to specify the minimum or maximum of a list
  of unit objects (e.g., min(unit(0.5, "npc"), unit(1,
    "inches"))).
There is a format method for units, which should respond to
  the arguments for the default format method, e.g.,
  digits to control the number of significant digits
  printed for numeric values.
# NOT RUN {
unit(1, "npc")
unit(1:3/4, "npc")
unit(1:3/4, "npc") + unit(1, "inches")
min(unit(0.5, "npc"), unit(1, "inches"))
unit.c(unit(0.5, "npc"), unit(2, "inches") + unit(1:3/4, "npc"),
       unit(1, "strwidth", "hi there"))
x <- unit(1:5, "npc")
x[2:4]
x[2:4] <- unit(1, "mm")
x
# }
Run the code above in your browser using DataLab