我的编程问题是我在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]
诀窍。但也许有更有效的方法。
答案 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