R 循环的输出不正确
我有两个表R 循环的输出不正确,r,R,我有两个表FDate和Task,如下所示: FDate Date Cycle Task 1: 1 90 D 2: 2 100 A 3: 3 130 B 4: 3 130 C 5: 4 180 <NA> 6: 5 200 A 7: 5 200 D 8: 6 230 <NA> Task Date Task 1 NA A 2 NA B 3
FDate
和Task
,如下所示:
FDate
Date Cycle Task
1: 1 90 D
2: 2 100 A
3: 3 130 B
4: 3 130 C
5: 4 180 <NA>
6: 5 200 A
7: 5 200 D
8: 6 230 <NA>
Task
Date Task
1 NA A
2 NA B
3 NA C
4 6 D
这是输出
Date Cycle Task
1: 1 90 D
2: 2 100 A
3: 3 130 B
4: 3 130 C
5: 4 180 <NA>
6: 5 200 A
7: 5 200 D
8: 6 230 4
日期周期任务
1:190 D
2:2100 A
3:3130B
4:3130摄氏度
5: 4 180
6:5200 A
7:5200D
8: 6 230 4
我希望输出是
D
,而不是4
。我找不到问题出在哪里?问题是该列是factor
,它被强制为整数存储模式值。循环前将其转换为字符
FDate$Task <- as.character(FDate$Task)
Task$Task <- as.character(Task$Task)
注意:将第二个data.table标识符更改为“df2”而不是“Task”,因为每个数据集中都有一列“Task”您确定该
因子列点。我尝试了一个因子,得到了D
而不是4
:/(我的意思是它有意义,但我无法复制)@M-M你的意思是你得到了4而不是D?OP希望输出为“D”而不是4Nah,我的意思是我在中读取数据,将$Task
转换为factor,但仍然得到D
!(我无法重现OP的错误)@M-M不清楚列的类别,但如果OP得到的是数值而不是字符,则意味着因子
问题。让OP响应您可以使用以下命令共享数据集:dput(head(FDate,8))
和dput(head(Task,4))
?目前还不清楚是什么导致了这个问题,如果没有可复制的数据,就很难(如果不是不可能的话)确定。并给出一个真正有意义的标题
FDate$Task <- as.character(FDate$Task)
Task$Task <- as.character(Task$Task)
library(data.tabl)
FDate[na.omit(df2), Task := i.Task,on = .(Date)]
FDate
# Date Cycle Task
#1: 1 90 D
#2: 2 100 A
#3: 3 130 B
#4: 3 130 C
#5: 4 180 <NA>
#6: 5 200 A
#7: 5 200 D
#8: 6 230 D