gpt4 book ai didi

r - 过滤数据框

转载 作者:行者123 更新时间:2023-12-02 14:38:44 26 4
gpt4 key购买 nike

我已读取矩阵形式的 csv 文件(有 m 行和 n 列)。我想通过以口头形式进行过滤来过滤矩阵:

选择 x 列中的所有值,其中该行中另一列的值等于“blabla”。

这就像数据库中的选择语句,我说我对需要满足这些约束的矩阵的子集感兴趣。

我怎样才能在r中做到这一点?我将数据作为数据框,可以通过标题访问它。 data["column_values"= "15"] 不会返回名为 column_values 的列仅具有值 15 的行。

谢谢

最佳答案

您说过您只想要列 x 值,其中 column_values 为 15,对吗?

subset(dat, column_values==15, select=x)

我认为这可能作为一个数据框出现,所以你可能需要 unlist() 它,甚至可能“解构”它。

> dat
Subject Product
1 1 ProdA
2 1 ProdB
3 1 ProdC
4 2 ProdB
5 2 ProdC
6 2 ProdD
7 3 ProdA
8 3 ProdB
> subset(dat, Subject==2, Product)
Product
4 ProdB
5 ProdC
6 ProdD
> unlist( subset(dat, Subject==2, Product) )
Product1 Product2 Product3
ProdB ProdC ProdD
Levels: ProdA ProdB ProdC ProdD
> as.character( unlist( subset(dat, Subject==2, Product) ) )
[1] "ProdB" "ProdC" "ProdD"

如果您想要所有列,您可以删除第三个参数(select= 参数):

subset(dat, Subject==2 )

Subject Product
4 2 ProdB
5 2 ProdC
6 2 ProdD

关于r - 过滤数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7534466/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com