如何获取不带符号[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
没有任何[]
答案 0 :(得分:1)
print
是一个具有误导性名称的函数。更准确的名称是show_value_in_interactive_console
(但这是少数几个)。它的目的实际上仅是在交互式R控制台中显示值。 不不适合其他用途。
当您实际上要向用户显示值或将其保存到文件时,您不要使用print
。相反,您想使用
message
或warning
(或stop
)writeLines
,cat
以上所有内容通常与format
,sprintf
,as.character
和toString
结合使用,它们将值实际转换为文本。
哦,as.symbol
与以上内容完全无关,因此不应在此处使用。它恰好偶然地为您的目的工作。
答案 1 :(得分:0)
您可以使用as.symbol
打印,如果需要符号索引,只需在
i
for (i in seq_along(v)) {
print(i)
print(as.symbol(v[i]))
}
输出看起来像
0
a
1
b
2
c