【发布时间】:2019-06-21 10:50:30
【问题描述】:
我正在查看一个包含公司的数据集,以及几周的价格。如果值为空白/空,则表示房屋已预订,因此没有可用价格。
我有这段代码正在运行,但如果可能的话,我想一次处理所有公司和几周。然后我希望它成为数据的一部分。
sum(D1$Company=='dc' & D1$`Price week 24`== " ") / sum(D1$Company=='dc' & D1$`Price week 24`!="-10")
我将预订房屋的一家公司的总和(没有价格因此为空白/空)除以总数。没有值 -10..
我的数据可能看起来像这样(抱歉,视力不好,但我无法粘贴屏幕截图)。我还有几个星期和几家公司。 我可以看到一个名为“Occupancy week 24”的新列,其中包含第 1 行中公司的值。
编辑:数据
# dput(DF1)
structure(list(Company = 1:6, Price_week_24 = structure(c(1L,
1L, 1L, 1L, 1L, 1L), .Label = "ns", class = "factor"), Price_week_25 = c(1639L,
860L, NA, NA, 399L, 645L), Price_week_26 = c(NA, 860L, NA, NA,
399L, NA), Price_week_27 = c(NA, 1010L, 1010L, 699L, 399L, 1010L
), Price_week_28 = c(NA, 1399L, NA, 1129L, 640L, 1399L)), class = "data.frame", row.names = c(NA,
-6L))
df$occupancy_rate 0, na.rm = TRUE)/length(x)) 解决许多问题,但不是全部。我希望为每家公司提供一个价值,而不是所有公司的总和。
我期待得到一些帮助。 谢谢。
最好的问候
【问题讨论】:
-
嗨!您可以使用
dput(D1)或dput(head(D1))更轻松地共享您的数据,如下所述:how-to-make-a-great-r-reproducible-example。您能否准确或举例说明您想要实现的目标? -
例如,我想为第 24 周添加一个新列。我希望该列包含公司在该位置的行的入住率。入住率可以在上面显示的计算过程中找到。这意味着第一行将如下所示: c(ns, 1639, "" , "","" , 占用率(在这种情况下为 fx. .333,因为我们总共有 2 个空行和 6 行).. 如果那样有意义吗?
-
请记住,我们有几家公司,我希望列行包含根据行(公司)的入住率..
-
好的,如果你在你的帖子中添加一个编辑(人们有时不阅读 cmets),具体的第一行使用 EDIT 会更有效率它给了
sum(as.numeric ( D1[,2:7] )>0 ) / 6 -
要将列
foo添加到data.frame,只需使用df$name <- foo这是否解决了问题?
标签: r function calculated-columns