Error unit.variable not found as numeric variable in foo
将数据集赋值到foo时,一直提醒各种数据格式错误,或找不到变量。
问题在于数据集的格式,以及每一个变量的格式。
必须严格按照示例数据synth.data的格式
通过
class(synth.data)
查看数据集格式,
> class(synth.data)
[1] "data.frame"
再通过
str(synth.data)
查看每个变量的格式
'data.frame': 168 obs. of 7 variables:
$ unit.num: num 2 2 2 2 2 2 2 2 2 2 ...
$ year : num 1980 1981 1982 1983 1984 ...
$ name : chr "control.region.northeast" "control.region.northeast" "control.region.northeast" "control.region.northeast" ...
$ Y : num 132 129 127 128 123 ...
$ X1 : num NA 0.253 0.251 0.249 0.246 ...
$ X2 : num 21.5 24.1 23.8 21.6 23.9 ...
$ X3 : num NA NA NA NA 17.9 ...
这里,必须注意⚠️⚠️⚠️
变量name的格式为chr
其余变量均为num
必须将自己数据集的每个变量格式改为示例的格式,否则就会报错。
这是我修改数据类别后的数据。
> str(DATA2)
'data.frame': 180 obs. of 13 variables:
$ unit.num: num 1 1 1 1 1 1 1 1 1 1 ...
$ year : num 2018 2019 2020 2021 2022 ...
$ name : chr "1" "1" "1" "1" ...
$ Y : num 203 204 206 211 213 ...
$ X1 : num 546 203 233 325 331 ...
$ X2 : num 95150 64875 63424 64364 65982 ...
$ X3 : num 71658 71811 70094 70754 72343 ...
$ X4 : num 1750 1573 6484 10422 954 ...
$ X5 : num 37 34 26 27 16 15 11 18 22 29 ...
$ X6 : num 101 104 103 103 102 ...
$ X7 : num 47.3 10.8 29.6 29 40.7 ...
$ X8 : num 127.2 98.3 163.9 184.5 240.7 ...
$ X9 : num 14917 9575 15996 15212 15862 ...
当然,也成功运行了
不过真的没想到,我在这种小问题上花了三个小时😭😭😭
算了,附上我半夜跑出来的图,纪念一下下。