R 为什么具有相同类型和值的变量可以以不同方式打印()?
当作为R 为什么具有相同类型和值的变量可以以不同方式打印()?,r,R,当作为print()函数的参数提供时,似乎具有相同类型和值的变量可能会产生不同的行为 #!/usr/bin/env Rscript a <- quantile(c(1), 1.0) b <- c(1) stopifnot(a == b) print(class(a)) print(a) print(class(b)) print(b) 不知何故,print()知道a是分位数,b不是分位数,即使这些信息在它们的值或class()报告的类型中不可用。发生什么事?是否存在与a和b相
print()
函数的参数提供时,似乎具有相同类型和值的变量可能会产生不同的行为
#!/usr/bin/env Rscript
a <- quantile(c(1), 1.0)
b <- c(1)
stopifnot(a == b)
print(class(a))
print(a)
print(class(b))
print(b)
不知何故,print()
知道a
是分位数,b
不是分位数,即使这些信息在它们的值或class()报告的类型中不可用。发生什么事?是否存在与a
和b
相关的其他类型信息
我从R文档中了解到,a
和b
都属于vector
类型,具有numerical
模式的组件,这就是了解其类型的全部内容。此外,请尝试查看:
names(a)
#[1] "100%"
及
这与对象的类
或模式
或类型
无关quantile()
有一个names=
参数,该参数在设置时附加到输出,根据?quantile
names: logical; if true, the result has a ‘names’ attribute. Set to
‘FALSE’ for speedup with many ‘probs’.
请尝试属性(a)
和名称(a)
谢谢。现在有人把它贴出来作为答案。
attributes(a)
#$names
#[1] "100%"
names: logical; if true, the result has a ‘names’ attribute. Set to
‘FALSE’ for speedup with many ‘probs’.