R:如何删除字符串向量中的引号,但保持向量格式以调用每个单独的值? [英] R: How to remove quotation marks in a vector of strings, but maintain vector format as to call each individual value?

查看:326
本文介绍了R:如何删除字符串向量中的引号,但保持向量格式以调用每个单独的值?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想创建一个用作变量名的名称向量,以便以后可以在循环中使用它们.

I want to create a vector of names that act as variable names so I can then use themlater on in a loop.

years=1950:2012  
for(i in 1:length(years))  
{    
varname[i]=paste("mydata",years[i],sep="")   
}

这给出了:

> [1] "mydata1950" "mydata1951" "mydata1952" "mydata1953" "mydata1954" "mydata1955" "mydata1956" "mydata1957" "mydata1958"
[10] "mydata1959" "mydata1960" "mydata1961" "mydata1962" "mydata1963" "mydata1964" "mydata1965" "mydata1966" "mydata1967"
[19] "mydata1968" "mydata1969" "mydata1970" "mydata1971" "mydata1972" "mydata1973" "mydata1974" "mydata1975" "mydata1976"
[28] "mydata1977" "mydata1978" "mydata1979" "mydata1980" "mydata1981" "mydata1982" "mydata1983" "mydata1984" "mydata1985"
[37] "mydata1986" "mydata1987" "mydata1988" "mydata1989" "mydata1990" "mydata1991" "mydata1992" "mydata1993" "mydata1994"
[46] "mydata1995" "mydata1996" "mydata1997" "mydata1998" "mydata1999" "mydata2000" "mydata2001" "mydata2002" "mydata2003"
[55] "mydata2004" "mydata2005" "mydata2006" "mydata2007" "mydata2008" "mydata2009" "mydata2010" "mydata2011" "mydata2012"

我要做的就是删除引号,并能够分别调用每个值.

All I want to do is remove the quotes and be able to call each value individually.

我想要:

>[1] mydata1950 mydata1951 mydata1952 mydata1953, #etc... 

存储为这样的变量

varname[1]        
> mydata1950    

varname[2] 
> mydata1951  

以此类推.

我玩过

cat(varname[i],"\n") 

但是这只是将值打印为一行,而我不能调用每个单独的字符串.还有

but this just prints values as one line and I can't call each individual string. And

gsub("'",'',varname)

但这似乎无能为力.

建议?在R中这可能吗?谢谢.

Suggestions? Is this possible in R? Thank you.

推荐答案

该字符向量的值中没有引号.使用:

There are no quotes in that character vector's values. Use:

 cat(varname)

....如果要查看未引用的值. R打印机制设置为使用引号作为信号来告知您的大脑存在不同的值.您还可以使用:

.... if you want to see the unquoted values. The R print mechanism is set to use quotes as a signal to your brain that distinct values are present. You can also use:

print(varname, quote=FALSE)

如果工作空间中有很多命名对象,那么您急需学习使用列表.有一些将字符值提升"为名称的机制,但是这将被视为对您学习有效使用该语言的一种失败:

If there are that many named objects in you workspace, then you need desperately to learn to use lists. There are mechanisms for "promoting" character values to names, but this would be seen as a failure on your part to learn to use the language effectively:

var <- 2

> eval(as.name('var'))
[1] 2
> eval(parse(text="var"))
[1] 2
> get('var')
[1] 2

这篇关于R:如何删除字符串向量中的引号,但保持向量格式以调用每个单独的值?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆