shuju <- read.csv("D:/2021113133.csv", header = TRUE)data <- data.frame(matrix(NA, nrow = 835, ncol = 5))colnames(data) <- c("id", "wd", "jd", "bj", "zx")for (i in 1:835) { data[i, "id"] <- i}data[, "wd"] <- shuju$wddata[, "jd"] <- shuju$jddata[, "bj"] <- shuju$bjdata[, "zx"] <- shuju$zxshuju <- read.csv("D:/20211131331.csv", header = TRUE)data3 <- data.frame(matrix(NA, nrow = 1877, ncol = 6))colnames(data3) <- c("id", "wd", "jd", "xe", "sj", "xy")data3[, "wd"] <- shuju$wddata3[, "jd"] <- shuju$jddata3[, "xe"] <- shuju$xedata3[, "sj"] <- shuju$sjdata3[, "xy"] <- shuju$xyfor (i in 1:1877) { data3[i, "id"] <- i} d=matrix(NA,nrow=835,ncol=1877)r <- 0.05 for (m in 1:835) { for (n in 1:1877) { d[m,n]<- sqrt((data3[n, "jd"] - data[m, "jd"]) ^ 2 + (data3[n, "wd"] - data[m, "wd"]) ^ 2) }} xe=numeric(835)for(i in 1:835){c<-0for(j in 1:1877){if(d<=r)c<-c+data3[j,"xe"]xe[i]<-c}}cor(data[,"bj"],xe),代码有什么问题
时间: 2023-07-19 22:26:53 浏览: 91
shuju-2014.csv2014年各省市区数据
代码存在以下问题:
1. 第一段代码中,读入的文件路径为 "D:/2021113133.csv",但是第二段代码中,读入的文件路径为 "D:/20211131331.csv",文件名不一致,需要保持一致。
2. 在第二段代码中,赋值语句中变量名 "shuju" 与文件名 "20211131331.csv" 不一致,需要将 "shuju" 改为文件读入后的数据框名称。
3. 在第三段代码中,计算距离矩阵时,计算距离的语句中,使用了变量 "d",但是在判断语句中使用了变量 "d" 的全部数据,需要将 "d" 改为 "d[m,n]"。
4. 在第三段代码中,计算 xe 时,判断语句中应该使用 "d[m,n]",而不是 "d"。
5. 在最后一行代码中,应该使用 "xe",而不是 "data3[j,"xe"]"。
修改后的代码如下:
```R
shuju <- read.csv("D:/2021113133.csv", header = TRUE)
data <- data.frame(matrix(NA, nrow = 835, ncol = 5))
colnames(data) <- c("id", "wd", "jd", "bj", "zx")
for (i in 1:835) {
data[i, "id"] <- i
}
data[, "wd"] <- shuju$wd
data[, "jd"] <- shuju$jd
data[, "bj"] <- shuju$bj
data[, "zx"] <- shuju$zx
shuju2 <- read.csv("D:/2021113133.csv", header = TRUE)
data3 <- data.frame(matrix(NA, nrow = 1877, ncol = 6))
colnames(data3) <- c("id", "wd", "jd", "xe", "sj", "xy")
data3[, "wd"] <- shuju2$wd
data3[, "jd"] <- shuju2$jd
data3[, "xe"] <- shuju2$xe
data3[, "sj"] <- shuju2$sj
data3[, "xy"] <- shuju2$xy
for (i in 1:1877) {
data3[i, "id"] <- i
}
d <- matrix(NA, nrow = 835, ncol = 1877)
r <- 0.05
for (m in 1:835) {
for (n in 1:1877) {
d[m,n] <- sqrt((data3[n, "jd"] - data[m, "jd"]) ^ 2 + (data3[n, "wd"] - data[m, "wd"]) ^ 2)
}
}
xe <- numeric(835)
for(i in 1:835){
c <- 0
for(j in 1:1877){
if(d[m,n] <= r) c <- c + data3[j, "xe"]
}
xe[i] <- c
}
cor(data[,"bj"], xe)
```
阅读全文