【发布时间】:2020-12-23 02:24:51
【问题描述】:
例子:
Trade <- data.table (
Ticker = c("ABC", "DEF", "GHI", "GHI", "JKL", "JKL", "MNO"),
TPrice = c(100, 200, 300, 305, 400, 405, 500),
Code = c("O", "O", "O", "C", "O", "C", "C")
)
MTM <- data.table (
Ticker = c("ABC", "DEF", "GHI", "JKL", "MNO"),
Flag = c(1, 0, 0, 1, 1),
TPrice = 0L
)
我希望 MTM data.table 中的 TPrice 只有在 Trade 和 MTM data.tables 中显示的相同代码具有 1 标志(在 MTM data.table 中)和代码是“O”(在贸易数据表中)。当满足这些条件时,MTM TPrice 列中的结果条目是 Trade data.table 中的 TPrice。
我正在寻找的结果:
MTM <- data.table (
Ticker = c("ABC", "DEF", "GHI", "JKL", "MNO"),
Flag = c(1, 0, 0, 1, 1),
TPrice = c(100, 0, 0, 400, 0)
)
Ticker Flag TPrice
1: ABC 1 100
2: DEF 0 0
3: GHI 0 0
4: JKL 1 400
5: MNO 1 0
咨询过的帖子
要么问题不一样,通常是因为我的数据表维度不均匀,要么我无法根据我的问题调整答案(仍在学习 R),或者我只是不理解尝试调整的答案(我在评论部分提出问题):
Subset a data frame based on another
How extract values of a data.table based on multiple conditions?
Update data.table based on multiple columns and conditions
Efficient way to subset data.table based on value in any of selected columns
How can one work fully generically in data.table in R with column names in variables
Multiple variable filters in r
Filter data.table on same condition for multiple columns
R Data.table divide values in column based on another column
由于问题中提出的尺寸不均匀,最后一个 SO 帖子似乎最接近我的问题,但我无法根据我的问题调整解决方案。
我非常感谢这里的一些帮助。
【问题讨论】:
标签: r data.table