在没有变量名的R中访问命名向量中的元素

Pan*_*wal 1 element r vector named

我试图访问R中命名字符向量中元素的值.使用http://www.r-tutor.com/r-introduction/vector/named-vector-members中的示例 我尝试了以下操作:

v = c("Mary", "Sue")
v
[1] "Mary" "Sue"
names(v) = c("First", "Last")
v
 First   Last
"Mary"  "Sue"
v["First"]
 First
"Mary"
Run Code Online (Sandbox Code Playgroud)

我希望这返回"Mary"而没有名称"First"(这就是上面教程中显示的内容),但是当我尝试它时总是给出名称和值.我试图将它设置为变量,希望它只给出值

> teststr = v["First"]
> teststr
 First
"Mary"
>
Run Code Online (Sandbox Code Playgroud)

但我仍然得到变量名(First)和值.我尝试了以下内容,但它返回了相同的值 - 元素名称.

>
> v[names(v)=="First"]
 First
"Mary"
>
Run Code Online (Sandbox Code Playgroud)

我在工作项目中获得的数据也会产生相同的结果.如果没有"第一"就能获得"Mary"的帮助.

谢谢 - Pankaj

Jil*_*ina 7

您可以使用 unname

> unname(v["First"])
[1] "Mary"
Run Code Online (Sandbox Code Playgroud)

此外,您可以使用getElement替代方案

> getElement(v, "First")
[1] "Mary"
Run Code Online (Sandbox Code Playgroud)

  • 还有双括号:`v[["First"]]`。我认为上面的评论不足以成为忽略它的理由...... (2认同)