从R中的字符向量中删除引号

Mil*_*der 44 quotes r

假设你有一个字符向量:

char <- c("one", "two", "three")
Run Code Online (Sandbox Code Playgroud)

当您引用索引值时,您将获得以下内容:

> char[1]
[1] "one"
Run Code Online (Sandbox Code Playgroud)

如何从返回值中删除引号以获得以下内容?

[1] one
Run Code Online (Sandbox Code Playgroud)

小智 78

试试noquote(a)

noquote( "a")的

[1] a


Noa*_*oah 27

as.name(char[1])虽然我不确定为什么你真的想要这样做,但是这些引用不会在paste例如:

> paste("I am counting to", char[1], char[2], char[3])
[1] "I am counting to one two three"
Run Code Online (Sandbox Code Playgroud)

  • as.name()和as.symbol()都将char [1]元素转换为"name"类.noquote()将char [1]元素转换为"noquote"类.嗯,我不知道R有这么多课程.谢谢. (7认同)

All*_*rdt 25

返回值中没有引号,仅在显示值时print()的默认输出中.尝试

> print(char[1], quote=FALSE)
[1] one
Run Code Online (Sandbox Code Playgroud)

要么

> cat(char[1], "\n")
one
Run Code Online (Sandbox Code Playgroud)

看到没有引号的值.


Spa*_*man 16

你在混淆quantmod的'符号'(与某些金融事物的代码相关的术语)和R的'符号',这是R中的'类型'.

你说过:

我有一个股票符号的字符向量,我传递给quantmod :: getSymbols(),该函数将符号返回到没有引号的环境

好吧差不多.它的作用是在指定环境中使用这些名称创建对象.我认为你想要做的是通过名字让事情远离环境.为此你需要'得到'.以下是在默认环境中工作的示例代码:

getSymbols('F',src ='yahoo',return.class ='ts')[1]"F"

所以你有一个你想要的东西的字符向量:

> z="F"
> z
[1] "F"
Run Code Online (Sandbox Code Playgroud)

然后神奇:

> summary(get(z))
     F.Open           F.High           F.Low           F.Close      
 Min.   : 1.310   Min.   : 1.550   Min.   : 1.010   Min.   : 1.260  
 1st Qu.: 5.895   1st Qu.: 6.020   1st Qu.: 5.705   1st Qu.: 5.885  
 Median : 7.950   Median : 8.030   Median : 7.800   Median : 7.920  
 Mean   : 8.358   Mean   : 8.495   Mean   : 8.178   Mean   : 8.332  
 3rd Qu.:11.210   3rd Qu.:11.400   3rd Qu.:11.000   3rd Qu.:11.180  
 Max.   :18.810   Max.   :18.970   Max.   :18.610   Max.   :18.790  
Run Code Online (Sandbox Code Playgroud)

如果你不相信我:

> identical(F,get(z))
[1] TRUE
Run Code Online (Sandbox Code Playgroud)


Ale*_*oma 6

如果:

> char<-c("one", "two", "three")
Run Code Online (Sandbox Code Playgroud)

你可以:

> print(char[1],quote = FALSE)
Run Code Online (Sandbox Code Playgroud)

你的结果应该是:

[1] one


Rom*_*rik 5

我只是在猜测,这是否在您想要实现的目标范围内?

> a <- "a"
> a
[1] "a" # quote yes
> as.factor(a)
[1] a #quote no
Run Code Online (Sandbox Code Playgroud)