【发布时间】:2022-01-24 05:49:53
【问题描述】:
我对 R 很陌生,我需要一些数据方面的帮助。我希望程序进入“prim_county”列中的每个唯一值,在标题为“acc_water”的列中添加与该唯一值 prim_county 关联的值,然后将其粘贴到一个名为“total_water_acc”的新变量中。我认为下面我的 r 代码中加粗的 for 循环可以做到这一点,但它不起作用。它总结了“acc_water”中的整个列。我将链接附加到我的数据和我的 r 代码。任何帮助将不胜感激!
R-代码
####2014 Data#############
attach(X2014_Data)
data2014 <- X2014_Data
View(data2014)
##interpolating###
data2014$water_3740 <- data2014$water_3000 + (3740 - 3000)*((data2014$water_4000 - data2014$water_3000)/(4000 - 3000))
data2014$sewer_3740 <- data2014$sewer_3000 + (3740 - 3000)*((data2014$sewer_4000 - data2014$sewer_3000)/(4000 - 3000))
data2014$water_7480 <- data2014$water_7000 + (7480 - 7000)*((data2014$water_10000 - data2014$water_7000)/(10000 - 7000))
data2014$sewer_7480 <- data2014$sewer_7000 + (7480 - 7000)*((data2014$sewer_10000 - data2014$sewer_7000)/(10000 - 7000))
data2014$water_Rate5c <- data2014$water_3740 + (5610 - 3740)*((data2014$water_7480 - data2014$water_3740)/(7480 - 3740))
data2014$sewer_Rate5c <- data2014$sewer_3740 + (5610 - 3740)*((data2014$sewer_7480 - data2014$sewer_3740)/(7480 - 3740))
data2014$water_12500 <- data2014$water_10000 + (12500 - 10000)*((data2014$water_15000 - data2014$water_10000)/(15000 - 10000))
data2014$sewer_12500 <- data2014$sewer_10000 + (12500 - 10000)*((data2014$sewer_15000 - data2014$sewer_10000)/(15000 - 10000))
##Weighting#
data2014$total_water_acc <- NA
data2014$total_sewer_acc <- NA
data2014$county <- NULL
data2014$weight <- NA
data2014$acc_water <- NA
data2014$acc_sewer <- NA
for (i in 1:485) {
ifelse(data2014$serv_type[i] != "S",data2014$acc_water[i] <- data2014$serv_acc[i], data2014$acc_water[i] <- NA)
}
for (i in 1:485){
ifelse(data2014$serv_type[i] !="W", data2014$acc_sewer[i] <- data2014$serv_acc[i], data2014$acc_sewer[i] <- NA)
}
**for (i in unique(data2014$prim_county)){
data2014$total_water_acc <- sum(data2014$acc_water[unique(data2014$prim_county) == i], na.rm = TRUE)
}**
##########数据######
【问题讨论】:
-
请提供足够的代码,以便其他人更好地理解或重现问题。