gpt4 book ai didi

r - 根据另一个数据框中的值对数据框进行子集化

转载 作者:行者123 更新时间:2023-12-01 12:27:24 25 4
gpt4 key购买 nike

抱歉,我是一个绝对的初学者,所以有一些非常基本的问题!

我有一个非常大的数据集,其中列出了一个家庭的单笔交易。示例如下。

#   hh_id trans_type transaction_value
# 1 hh1 food 4
# 2 hh1 water 5
# 3 hh1 transport 4
# 4 hh2 water 3
# 5 hh3 transport 1
# 6 hh3 food 10
# 7 hh4 food 5
# 8 hh4 transport 15
# 9 hh4 water 10

我想创建一个新的数据框,其中仅列出在“水”类别中进行交易的家庭的所有交易。 (例如,我想要一个没有上面 hh3 的 df,因为他们在“水”方面没有任何支出)

作为第一步,我有一个包含一列 (hh_ids) 的数据框,其中只有我想要的家庭 ID。然后,我如何对较大的数据框进行子集化,以删除所有不是来自在“水”类别中有开支的家庭的交易行?

数据

## data from @gung
d <- read.table(text="hh_id trans_type transaction_value
hh1 food 4
hh1 water 5
hh1 transport 4
hh2 water 3
hh3 transport 1
hh3 food 10
hh4 food 5
hh4 transport 15
hh4 water 10", header=T)

最佳答案

d <- read.table(text="hh_id   trans_type  transaction_value
hh1 food 4
hh1 water 5
hh1 transport 4
hh2 water 3
hh3 transport 1
hh3 food 10
hh4 food 5
hh4 transport 15
hh4 water 10", header=T)

dw <- as.character(with(d, hh_id[trans_type=="water"]))
ds <- d[which(d$hh_id%in%dw),]
ds
# hh_id trans_type transaction_value
# 1 hh1 food 4
# 2 hh1 water 5
# 3 hh1 transport 4
# 4 hh2 water 3
# 7 hh4 food 5
# 8 hh4 transport 15
# 9 hh4 water 10

关于r - 根据另一个数据框中的值对数据框进行子集化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37909247/

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