如何选择文本文件(在R中)中列出的data.frame中的所有变量?

时间:2016-08-18 13:25:59

标签: r dataframe read.table

我的编程问题是我在Ascii格式文件中有一个字符串列表,它们是变量名,例如variables.txt,例如。

A
B
C
D

data.frame R variables.txt中选择与var = c("A", "B", "C", "D") (dat=data.frame(A=1,B=2,C=3,D=4,E=5,F=6)) A B C D E F 1 1 2 3 4 5 6 中的名称匹配的变量。例如:

dat[,var]
  A B C D
1 1 2 3 4

其次是

variables.txt

所以问题可能归结为将var读入var <- read.table("variables.txt") 。如果我给:

data.frame

结果再次是var <- as.vector(as.matrix(read.table("variables.txt"))) ,不能用于子设置。完成此任务的最有效方法是什么?

编辑:我发现了

import matplotlib

import matplotlib.pyplot as plt

xx = range(10)
yy = range(10)
[plt.plot([x,x],[min(yy),max(yy)],color='k') for x in xx]
[plt.plot([min(xx),max(xx)],[y,y],color='k') for y in yy]

诀窍。但也许有更有效的方法。

1 个答案:

答案 0 :(得分:0)

您可以尝试这种方式,将var输入为data.frame:您需要明确使用向量引用将其用于子集化:

dat<-data.frame(A=1,B=2,C=3,D=4,E=5,F=6)

var<-data.frame(variable=c("A", "B", "C", "D"))
dat[,names(dat) %in% var$variable]
A B C D
1 2 3 4

使用逻辑矢量进行子设置工作正常。 如果您需要指定订单,请尝试使用'匹配':

var$variable<-rev(var$variable)
dat[,match(var$variable, names(dat))]

D C B A
4 3 2 1