R:将Y列减去矩阵

时间:2014-11-14 11:22:53

标签: r col

我有一个名为test(使用read.csv导入)的表,如下所示:

Y   X1   X2   ...   X100
0   125   a   ...   32
1   163   b   ...   25
0   758   b   ...   587

我已成功使用以下命令将所有预测变量保存在不同的表中:

x_test <- test[, !(colnames(test) %in% c("Y"))]   

当我输入

fix(x_test)

我得到了一张包含所有预测因子的漂亮表格。 我似乎无法为Y做同样的事。 有什么帮助吗?

2 个答案:

答案 0 :(得分:0)

我想你想要

test["Y"]

而不是test[ , "Y"]

答案 1 :(得分:0)

希望这有帮助。没有足够的代表在评论中询问信息,所以我会抓住一些东西。我不知道你加载的对象是什么类(或其中的列),但你可以尝试确保它是一个数据框,然后使用子集:

#create some random nonsense
set.seed(123)
junk1 = data.frame(matrix(rnorm(100,5,.5),ncol=1,nrow=100))
junk2 = data.frame(matrix(1:100,ncol=100,nrow=100))
colnames(junk1)="Y"
test=cbind(junk1,junk2)

#should at this point have a data.frame something like your data, first column Y, rest X1..X100
#if yours isn't already, after doing your "test=read.csv(file)" then "test=as.data.frame(test)"

x_test = subset(test,select=colnames(test)[colnames(test)!="Y"])
y_test = subset(test,select="Y")

使用子集可能不是最好的方法,但有一个优点,即使在提取单个列时(如你的&#34; Y&#34;),结果将是一个数据框,而不是矢量。

编辑:对我刚刚看到的关于课程的Sven的道具(在发布之前没有看到)