R 输入变量列表,而不在它们之间手动添加逗号

R 输入变量列表,而不在它们之间手动添加逗号,r,list,variables,R,List,Variables,基本上,我希望实现以下目标: vars <- c(x1, x20, x37, etc) summary(data[vars]) vars使用以下命令: data <- data.frame(x1 = rnorm(10), x2 = rnorm(10)) vars <- "x1 x2" data[unlist(strsplit(vars, ' '))] data假设您可以将文件放入文本文件(如果不知道数据来自何处,很难说):将变量另存为纯文本文件。使用扫描将其读取到数据文件:

基本上,我希望实现以下目标:

vars <- c(x1, x20, x37, etc)
summary(data[vars])
vars使用以下命令:

data <- data.frame(x1 = rnorm(10), x2 = rnorm(10))
vars <- "x1 x2"
data[unlist(strsplit(vars, ' '))]

data假设您可以将文件放入文本文件(如果不知道数据来自何处,很难说):将变量另存为纯文本文件。使用扫描将其读取到数据文件:

df <- read.table("foo.txt", sep=" ")

看起来它们已经是工作区中变量的名称了

x <- ls()[grep('^x\\d', ls())]

x那么
x1
x2
x3
的值是多少?它们的值是否与
数据对象的任何列名都匹配?我猜您想使用
扫描
从文件中读取数字。我想您最好告诉我们更多关于您拥有的内容和您想要的内容(德温在问什么)因为可能有更好的方法。你的变量列表一开始是什么样子的?是字符变量“x1 x20 x37”吗比如在这种情况下?或者它是在某个文本文件中?请花点时间解决上述评论并澄清您的问题,以便对将来在网站上的搜索更有用。可能也可以,但当然最好留在环境中。这是什么意思?您将如何离开R环境?很难确定知道我们是否需要离开环境,因为我们不知道数据以什么形式出现。@Rico,如果您可以编辑您的问题,更清楚地解释您获取数据的格式,这将有助于未来的读者。我的意思是创建一个文本文件;可能不正确地使用“环境”。因为strsplit的结果类型(vars,“)是列表,我们无法将其放入数据[此处]。但这正是您在此处主要需要的strsplit。+1另一种方法是
data[scan(textConnection(vars),what=”“)]
x <- ls()[grep('^x\\d', ls())]
x <- scan()