为什么即使在R中定义了“month.observed”对象,也找不到它?

为什么即使在R中定义了“month.observed”对象,也找不到它?,r,R,这是我的数据: 基本上,您正在尝试使用[您必须启动month.observed]来构建一个对象,我尝试了您的建议,这就是我在几个月内得到的错误[as.numerimonth.observed]:类型为“closure”的对象不可再附加您以不可复制的方式提供了数据,请进一步阅读您的代码不是最小的。因此不适用于代码修订。投票重新打开:错误在R编程中非常基本,并且很容易用rmx来说明;x[5]您是否考虑了1:lengthmean.TREFHT_MAX中的fori部分{观察到的月份[i]=…}关于这个问

这是我的数据:


基本上,您正在尝试使用[您必须启动month.observed]来构建一个对象,我尝试了您的建议,这就是我在几个月内得到的错误[as.numerimonth.observed]:类型为“closure”的对象不可再附加您以不可复制的方式提供了数据,请进一步阅读您的代码不是最小的。因此不适用于代码修订。投票重新打开:错误在R编程中非常基本,并且很容易用rmx来说明;x[5]您是否考虑了1:lengthmean.TREFHT_MAX中的fori部分{观察到的月份[i]=…}关于这个问题?我不知道你关心的是什么。你担心的是=而不是你给出了一个长而好的错误描述。但是你没有给出OPs代码的解决方案,即更改代码的哪一部分以及代码的外观。@jojo:我想这意味着需要一个名为month.obs的对象为了有一个成功的索引分配,我需要做一个测试。问题是为什么。按照我的惯例,我经常等到图片中有一个not,然后才提供测试代码。
ens1 <- read.csv("G:/ABV_DATA/ABV_2/book3.csv", header=TRUE, sep=",", stringsAsFactors = FALSE)
    attach(ens1)        

dates = as.Date(ens1$date, "%m/%d/%y")

#write.csv(dates, file = "myfile.csv")
ens1 = ens1[,2:4] #remove column 1 and kip columns 2 to 4

ens1 = data.frame(date=dates, ens1)

month.year <- function (x) {12*(as.POSIXlt(x)$year-1)+as.POSIXlt(x)$mon+1}
month = month.year(ens1$date) #the one that works is to use the full ens1$date

mean.TREFHT_MAX = tapply(TREFHT_MAX, month, mean)
sd.TREFHT_MAX= tapply(TREFHT_MAX,month,sd)

mean.RH=tapply(RH,month,mean)
sd.RH=tapply(RH, month,sd)
month = month.name #names from jan or dec

for(i in 1:length(mean.TREFHT_MAX)) {month.observed[i]=as.numeric(names(mean.TREFHT_MAX[i]))%%12

} #first get the months as numbers 0-11
month.observed[month.observed==0]<-12   # make the decembers 12 instead of 0
month.names <- months[as.numeric(month.observed)]


stats <- data.frame(mean.TREFHT_MAX,sd.TREFHT_MAX,mean.RH,sd.RH,month=month.names)
print(stats,digits=3)
x <- 5
assign("x", 5, pos=-1)
 x[2] <- 5
?`<-`   # need the backticks or quotes
`[<-`(x, 2, 5)