Cuando tenemos pocos datos numéricos, ya sea en un pequeño vector o en una matriz de pequeñas dimensiones, podemos crear un objeto vector o matrix en el entorno de trabajo de R utilizando la función scan() e introduciendo los datos con el teclado en la consola de R.

Ejemplo 1: foo1() es una función que pide el tamaño del vector y de cada una de sus componentes. Ejecute el código e intente introducir el vector (3,6,7,1,-4,9). A continuación, haga un gráfico de puntos con el vector.

Example 2: foo2() es una función que pide las dimensiones de una matriz, las etiquetas de filas y columnas, y finalmente cada una de sus componentes, que deben introducirse por columnas. Ejecute el código, intente introducir la siguiente matriz y luego resúmala con la función summary().

x y
a 1 3
b 5 7
c 4 0

# Example 1: Vector
foo1 <- function() {
  cat("What is the size of the numerical vector? ", "\n")
  size <- scan("", nmax = 1)
  cat("Enter each component of the vector: ", "\n")
  temp <- c(scan("", nmax = size))
  print(temp)
  return(temp)
}
vec <- foo1()
# plot the vector
plot(vec)


# Example 2: Matrix
foo2 <- function() {
  cat("Number of rows of the numerical matrix:", "\n")
  rows = scan("", n = 1)
  cat("Number of columns of the numerical matrix:", "\n")
  cols = scan("", n = 1)
  cat("Enter each row label", "\n")
  nom_rows = c(scan("", n = rows, what = "character"))
  cat("Enter each column label", "\n")
  nom_cols = c(scan("", n = cols, what = "character"))
  cat("Enter each component of the matrix by columns", "\n")
  temp <- matrix(scan("", n = rows * cols), nrow = rows, ncol = cols,
                 dimnames = list(nom_rows, nom_cols)
  )
  return(temp)
}
m <- foo2()
# view the matrix
m
# summarize the matrix
summary(m)