【发布时间】:2021-07-15 16:50:58
【问题描述】:
我有一个马赛出租房地产市场的庞大数据集(名为 marseilleannonces),其中包含一些变量:
structure(list(ID = c("af626000-342e-11e8-a56e-8326540c0e87",
"20629290-c926-11e6-a626-abf6d3bf8a25", "8495af50-b92c-11e5-86ef-abf6d3bf8a25",
"a4299b60-11e3-11ea-9589-c1180fadeaa5", "833f81d0-d3da-11ea-b28a-1b6a75606a9a",
"75358b40-6d76-11e5-bb7a-cfb08fbdec46", "8d6f22f3-abc7-11e4-b16a-1100e6029c1e",
"10ed2580-28cb-11e9-bcd9-d3a30a46a7fe", "dd156b70-1534-11e6-afdf-abf6d3bf8a25",
"15688650-2934-11e8-ab89-41d65c7c6457"), TYPE = c("APARTMENT",
"APARTMENT", "APARTMENT", "APARTMENT", "PREMISES", "APARTMENT",
"APARTMENT", "APARTMENT", "APARTMENT", "PREMISES"), SURFACE = c(19,
29, 17, 55, 35, 50, 67, 30, 28, 45), ROOM_COUNT = c(1, 2, 1,
3, 1, 2, 2, 1, 1, NA), PRICE = c(295, 470, 290, 610, 550, 500,
500, 655, 445, 1943), RENTAL_EXPENSES = c(45, NA, NA, NA, NA,
NA, 40, NA, NA, NA), RENTAL_EXPENSES_INCLUDED = c(TRUE, TRUE,
NA, TRUE, TRUE, TRUE, TRUE, TRUE, NA, NA)), row.names = c(NA,
-10L), class = c("tbl_df", "tbl", "data.frame"))
在此数据集中,如果 RENTAL_EXPENSES_INCLUDED=TRUE,则变量 PRICE 包含 RENTAL_EXPENSES 中的值,如果 RENTAL_EXPENSES_INCLUDED=FALSE,则变量 PRICE 不包含 RENTAL_EXPENSES 中的值。我的目标是创建一个新列,其中的价格不包含 RENTAL_EXPENSES 中的值,名为 HC。我试图创建一个函数:
for(i in 1:length(marseilleannonces$RENTAL_EXPENSES_INCLUDED)){
x = marseilleannonces$RENTAL_EXPENSES_INCLUDED[i]
if(x == TRUE){
marseilleannonces$HC[i] = PRICE[i]-RENTAL_EXPENSES[i]
}
else {
marseilleannonces$HC[i] = PRICE[i]
}
}
R 告诉我有一个需要 TRUE/FALSE 的缺失值。也许我的数据集中有很多 NA 的事实是一个问题。 欢迎任何建议是正确的方向。
提前致谢!
【问题讨论】:
-
我认为 NA 确实是问题所在,请尝试在您的
if中处理它们或将它们从您的数据集中删除。后者见this。 -
您可以编辑您的帖子以包含此数据集的预期输出吗?