在R中实现my函数时出错

时间:2017-12-01 13:10:14

标签: r error-handling statistics

运行此功能后

我有这个错误: $<-.data.frame中的错误(*tmp*,能量,值=数字(0)):   替换有0行,数据有2642

library(dplyr)

shower = read.csv2("Shower_data.csv")
survey = read.csv2("Survey.csv")
uniteData<- dplyr::inner_join(shower, survey, by=c("Hh_ID" = "Hh_ID"))

dataEng <- data.frame(uniteData$Hh_ID, uniteData$Volume, uniteData$Avgtemperature, uniteData$beobachten)
colnames(dataEng) <-c('ID','Volume', 'AvgTemperature', 'beobachten')
#data$Energy <- with(data, data$Volume*(data$AvgTemperature-12)/0.65*4.185/3600)


calculateEnergy <- function(temperature, volume){
  energy = c(volume * (temperature-12)/0.65*4.185/3600)
  return(energy)
}


oft <- dataEng %>% dplyr::filter(beobachten == "Oft")

eherOft <-dataEng %>% dplyr::filter(beobachten == "Eher oft")

selten <-dataEng %>% dplyr::filter(beobachten == "Selten")

eherSelten <-dataEng %>% dplyr::filter(beobachten == "Eher selten")

oft$Energy<- calculateEnergy(oft$Avgtemperature, oft$Volume)

$<-.data.frame中的错误(*tmp*,能量,值=数字(0)):   替换有0行,数据有2642

2 个答案:

答案 0 :(得分:1)

正如我们在评论部分中发现的那样,问题是一封信,需要在电话list_1 = ["someurl", "someurl2"] list_2 = [] new_link = "http://www.imdb.com/" for links in list_1: new_link = new_link + "".join(links) print(new_link) 'http://www.imdb.com/someurlsomeurl2' 中大写。最好的解决方案是使用一个好的编辑器的帮助,比如RStudio中的编辑器,这将有助于例如通过自动完成。此外,在RStudio中,只需按一下按钮就可以删除所有旧变量,因此您不会乱用旧变量,这很久就失去了它的意义,但仍然在命名空间中。

使用RStudio,学习RStudio,它将帮助您避免此类错误。

答案 1 :(得分:0)

您的变量名称有误:AvgTemperature - &gt; T而不是t