我从txt文件导入了一些数据:
df <- read.table(file.choose(),
sep = "\t",
skip = 2,
fill = T)
df <- cdf[,c(6,11)]
colnames(df) <- c("area", "population")
我的数据的缩短版本在RStudio
的环境中看起来像这样 area population
[1] area0 0
[2] area1: 59,859
[3] area0: 56000
[4] area0: 25
[5] area0: Unknown
[6] area0: 1,400
这是data.frame
课程,我想循环浏览state
以查找它是否包含短语area0
。如果是,我想转到同一行的population
并通过累积总和添加人口。我的最终结果应该是这样的:
新数据框架中的area0 57425
答案 0 :(得分:1)
正如Ronak Shah在评论中所述,这个问题可以通过使用来解决
$ git flow release start releasefromcommit 35ec45c01872212ad5f33e068c984def5d18a284
Fatal: Base '35ec45c01872212ad5f33e068c984def5d18a284' needs to be a branch. It does not exist and is required.
这避免了对for循环的需要。
应该实现的第二件事是删除sum(as.numeric(as.character(df$population[grepl("area0", df$state])), na.rm = T)
列中的逗号,以便可以正确计算总和。这可以使用population
:
gsub