El arte de programar en R Un leguaje para la estadística - page 65

CAPÍTULO 3. ACCESO A PORCIONES O SUBCONJUNTOS DE DATOS 62
## [1] "integer"
df.mt[[
2
,
3
]]
## [1] 20
class
(df.mt[[
2
,
3
]])
## [1] "integer"
df.mt[[
"dos"
,
"TRES"
]]
## [1] 20
Nótese que a diferencia con el operador
[]
, el operador
[[]]
, no entrega en
ni una matriz, ni un data frame, sino un vector entero de un solo elemento, en
este caso. Compárese con los dos últimos casos del ejemplo anterior.
Otra diferencia importante de este operador es que no admite ni rangos, ni
conjuntos de índices; esto es, para cada espacio en el operador sólo admite ya
sea un índice entero o una cadena de caracteres que identifica el nombre de
algún elemento de la estructura sobre la que opera.
El operador
$
, es semejante pero sólo actúa sobre la estructura unidimen-
sional de una lista o de un
data frame
. La diferencia de este operador con el
operador
[[]]
, es que los nombres de los elementos no necesitan ir entrecomi-
llados, y pueden estar incompletos, cuando no hay ambigüedad en la identifi-
cación de los elementos a los cuales se refieren. Esta característica resulta más
útil cuando se trabaja con el lenguaje directamente desde la consola, o sea, in-
teractivamente, ya que puede representar alguna economía en la escritura de
las expresiones.
df.mt[[
"TRES"
]]
## [1] 19 20 21 22
df.mt
$
TRES
## [1] 19 20 21 22
df.mt
$
"TRES"
## [1] 19 20 21 22
df.mt
$
T
## [1] 19 20 21 22
Nótese que en el código anterior, el intérprete del lenguaje se ha
quejado
emitiendo un “
Warning
”, que no representa ningún problema, ya que sólo in-
1...,55,56,57,58,59,60,61,62,63,64 66,67,68,69,70,71,72,73,74,75,...198
Powered by FlippingBook