首页 > 解决方案 > 如何获取不带符号 [] 的字符串向量的元素

问题描述

如何获取没有符号 [1] 的字符串向量的元素?

v <- c("a","b","c")
for (i in seq_along(v)) {
  print(v[i])
}

我得到的不是“a”、“b”、“c”:

[1] "a"
[1] "b"
[1] "c"

但是当我使用as.symbol

for (i in seq_along(v)) {
  print(as.symbol(v[i]))
}

我得到:

a
b
c

没有任何 [ ]

标签: rstringvector

解决方案


print是一个具有误导性名称的函数。一个更准确的名称将是show_value_in_interactive_console(但这是少数)。它的目的实际上只是为了在交互式 R 控制台中显示值。它适合其他用途。

当您实际上想要向用户显示值或将它们保存到文件时,您不想使用print. 相反,您想使用

  • 用于向用户显示值:messagewarning(或stop
  • 用于将值的文本表示形式保存到文件或以其他方式将它们暴露给系统:writeLinescat

以上所有内容通常与format、和结合使用sprintf,它们执行值到文本的实际转换。as.charactertoString

哦,和as.symbol上面完全无关,不应该在这里使用。它碰巧完全出于您的目的而工作。


推荐阅读