我有一个R数据帧(称为DataTable),它有两列:Value和Gender。值为数字,性别为M或F.
如果数据框是SQL中的表,我可以说:
从DataTable中选择*,其中Gender =' M'
在R中表达这个的最佳方法是什么?我希望输出只是Gender = M的值的向量。
我已经尝试过:
A <- DataTable[, Gender == "M"]
但它不起作用。这就是我得到的:
> A
0列和26行的数据框
> str(A)
&#39; data.frame&#39;:26 obs。 0变量
> summary(A)
&LT;范围表0 x 0&gt;
另外,我试图遵循Google的R风格指南,它说永远不会使用附加功能,因此我想知道如何在不使用它的情况下执行此操作。
我已经浏览了The R Cookbook以及The R Book的答案,但没有找到任何答案。
谢谢!
答案 0 :(得分:0)
您将Gender == "M"
放入[,]
的错误一侧,即列侧,例如DataTable[rows, columns]
,要选择行,请执行以下操作:
A <- DataTable[DataTable$Gender == "M",]
答案 1 :(得分:0)
如果您只想要value
,那么您将在SQL中执行
select value from DataTable where gender = 'M'
R中的等价物是
subset(DataTable, gender == "M", value)
或仅使用基本索引操作
DataTable[DataTable$gender == "M", "value"]