Понятия не имею, потому что когда я запускаю это на своей машине, я получаю правильный ответ:
> print(example)
Question StudentID SchoolID Value Worth Answer Points
1 18 101290 84386 2 2 Co 0
2 18 100878 84386 2 2 Co 0
3 18 100895 84386 1 5 Co 0
4 18 100913 84386 2 2 Co 0
5 18 100884 84386 2 2 Co 0
>
> example$Points <- ifelse(example$Answer == "Co", example$Value, example$Points)
>
> print(example)
Question StudentID SchoolID Value Worth Answer Points
1 18 101290 84386 2 2 Co 2
2 18 100878 84386 2 2 Co 2
3 18 100895 84386 1 5 Co 1
4 18 100913 84386 2 2 Co 2
5 18 100884 84386 2 2 Co 2
Вот код, который я использую:
example = read.table('data.txt', header = T)
print(example)
example$Points <- ifelse(example$Answer == "Co", example$Value, example$Points)
print(example)
data.txt:
Question StudentID SchoolID Value Worth Answer Points
18 101290 84386 2 2 Co 0
18 100878 84386 2 2 Co 0
18 100895 84386 1 5 Co 0
18 100913 84386 2 2 Co 0
18 100884 84386 2 2 Co 0
Надеюсь, это поможет.Что происходит, когда вы распечатываете тип примера $ Value?Попробуйте это:
print( typeof(example$Value) )
[1] "integer"
Если это проявится как фактор, то это может объяснить ваши странные результаты.