通过提示用户输入R更新列
我有一个数据框,在其中我需要手动筛选每一行,并确定我使用RecordLink包匹配的列是否确实匹配。有些记录很有可能是匹配的,而不仅仅是因为虚假的关联。我希望在不将数据导出到csv并逐案滚动的情况下快速识别这些数据。相反,我希望遍历数据的每一行,并为每一行提示用户(我)一个问题“这是匹配(y/n)吗?”,其中答案(‘是’或‘否’)将输入到该行的一列中 这段代码将重现一个快速的数据示例通过提示用户输入R更新列,r,loops,match,prompt,R,Loops,Match,Prompt,我有一个数据框,在其中我需要手动筛选每一行,并确定我使用RecordLink包匹配的列是否确实匹配。有些记录很有可能是匹配的,而不仅仅是因为虚假的关联。我希望在不将数据导出到csv并逐案滚动的情况下快速识别这些数据。相反,我希望遍历数据的每一行,并为每一行提示用户(我)一个问题“这是匹配(y/n)吗?”,其中答案(‘是’或‘否’)将输入到该行的一列中 这段代码将重现一个快速的数据示例 id= c(1, 2, 3, 4) loc1 = c("21ST AVE", "5TH ST", "HICKMA
id= c(1, 2, 3, 4)
loc1 = c("21ST AVE", "5TH ST", "HICKMAN ST", "GULF DR")
loc2 = c("21ST AVE BEACH ST", "5 EAST HARPER BLVD", "28 HARLEY ST", "1000 GULF DR")
day1 = c(12, 13, 14, 15)
day2 = c(12, 13, 14, 15)
time1 = c("20:52", "12:52", "15:35", "14:45")
time2 = c("20:52", "18:29", "03:55", "15:01")
df = data.frame(id, loc1, loc2, day1, day2, time1, time2)
提供这个结果,
id loc1 loc2 day1 day2 time1 time2
1 21ST AVE 21ST AVE BEACH ST 12 12 20:52 20:52
2 5TH ST 5 EAST HERST BLVD 13 13 12:52 18:29
3 HICKMAN ST 28 HARLEY ST 14 14 15:35 03:51
4 GULF DR 1000 GULF DR 15 15 14:45 15:01
我想要的是一个提示
Is this a match (y/n)?
----------------------
id loc1 loc2 day1 day2 time1 time2
1 21ST AVE 21ST AVE BEACH ST 12 12 20:52 20:52
每行回答“是”或“否”将得到以下结果
id loc1 loc2 day1 day2 time1 time2 match
1 21ST AVE 21ST AVE BEACH ST 12 12 20:52 20:52 y
2 5TH ST 5 EAST HERST BLVD 13 13 12:52 18:29 n
3 HICKMAN ST 28 HARLEY ST 14 14 15:35 03:55 n
4 GULF DR 1000 GULF DR 15 15 14:45 15:01 y
我甚至不确定这是a)可能的,b)可行的,还是c)最好的方法。乐于接受想法/建议。谢谢。先做一个函数
checkRow<-function(df){
match<-vector()
for(i in 1:nrow(df)){
print(df[i,])
ans<-readline("Is this a match? (y or n)")
match<-c(match, ans)
}
return(cbind(df, match))
}
checkrow看看这太棒了,谢谢谢谢!我将其更改为return(df=cbind(df,match))
,以便每次保存列值。效果很好。
checked<-checkRow(df)