上述案例中的subjid是字符型变量,但是值是数字,应该如何输出为数值型变量
时间: 2024-09-23 21:02:41 浏览: 35
SSRTcalc:估计R中停止信号React时间的工具
如果你的`SUBJID`原本是字符型变量(CHAR/CAT)但存储的是数字,想要转换成数值型(NUMERIC/INT/FLOAT)以便于后续分析,可以使用`INPUT`或`SCAN`函数。在`PROC SQL`中,你可以这样做:
```sql
PROC SQL;
CREATE TABLE list99 AS
BEGIN DATA;
INPUT SUBJID $ fmt='best12.';
LENGTH SUBJIDnumeric 12.; /* 创建一个新的数值型变量 */
SUBJIDnumeric = _n_; /* 使用_INPUT_函数将字符型转换为数值型 */
OUTPUT TO LIST99 (subjectid=SUBJIDnumeric);
END DATA;
FROM translib.qs a;
QUIT;
```
这段代码首先读取`SUBJID`作为字符串,然后使用`fmt='best12.'`尝试识别并解析输入值,将其转换为数值类型。`LENGTH`语句创建了一个新的数值变量`SUBJIDnumeric`,最后将转换后的数值赋值给它。
阅读全文