【发布时间】:2017-07-03 11:51:39
【问题描述】:
我正在读取 csv 文件并尝试根据条件更新名为“已添加”的列的值,当两个连续行的 bug_id 和 bug_when 相同并且第 i 行的添加列具有值“已解决”,然后添加列的值在 ( i+1) 通过连接“已添加”列(i 和 i + 1 行)的值更新行并删除第 i 行。我累了,但它不能正常工作。该文件包含以下信息:
bug_id bug_when field added
1141327 2015-03-09 16:21:30 Status RESOLVED
1141327 2015-03-09 16:21:30 Resolution DUPLICATE
1142623 2015-03-24 18:15:22 Status RESOLVED
1142623 2015-03-24 18:15:22 Resolution FIXED
1143179 2015-07-30 09:37:56 Status RESOLVED
1143179 2015-07-30 09:37:56 Resolution FIXED
这是我的代码:
dataframe <- read.csv("prototype.csv", header = TRUE)
start <- 1
end <- nrow(dataframe)-1
for(i in start:end)
{
if(dataframe$bug_id[i]==dataframe$bug_id[i+1] & dataframe$bug_when[i]==dataframe$bug_when[i+1])
{
if(dataframe$added[i]=="RESOLVED")
{
df <- paste(dataframe$added[i],"-",dataframe$added[i+1])
dataframe$added[i+1] <- df
dataframe <- dataframe[!(dataframe[i,])]
}
}
}
任何建议将不胜感激。 期望的结果:
bug_id bug_when field added
1141327 2015-03-09 16:21:30 Resolution RESOLVED-DuPLICATE
1142623 2015-03-24 18:15:22 Resolution RESOLVED-FIXED
1143179 2015-07-30 09:37:56 Resolution RESOLVED-FIXED
【问题讨论】:
-
您可以添加您提供的数据示例的所需结果吗?
-
@PLapointe 所需结果已添加
标签: r