sas - 当列不是数字时,SAS删除行
问题描述
我在 SAS 中有这个数据集学生,我计划删除成绩为非数字的记录(行)。我尝试了以下代码,但没有奏效。我试过'如果等级=。然后删除;' 以及它仍然没有工作。我不想替换这些值,我只想删除该行。对此有什么想法吗?
data student;
infile datalines firstobs=2 dsd truncover;
input student$ class$ grade;
datalines;
student, class, grade
Jansen, Brave, A
Yassin, Brave, 70
Benison, Brave, 67
Yan Jin, Brave, E
James, Hero, 90
Michelle, Hero, 89
Hiroku, Hero, C
Misoku, Hero, 93
;
run;
data student_cleaned;
set work.student;
if not (anyalpha(grade)) then delete;
run;
解决方案
在第一步中,您将年级读为数字。这意味着 SAS 已经从该数据集中删除了任何字符。将其作为字符读入,然后您可以进行第二步。在成绩后添加 $ 以将其作为字符值读入。
从字面上看,一个字符的变化;)
data student;
infile datalines firstobs=2 dsd truncover;
input student$ class$ grade $;
datalines;
student, class, grade
Jansen, Brave, A
Yassin, Brave, 70
Benison, Brave, 67
Yan Jin, Brave, E
James, Hero, 90
Michelle, Hero, 89
Hiroku, Hero, C
Misoku, Hero, 93
;
run;
data student_cleaned;
set work.student;
if anyalpha(grade) then delete;
run;
推荐阅读
- kubernetes - 如何使用 kubernetes 客户端 Api 部署 ConfigMap
- azure - 从 AzureRM 升级到 Az 模块现在无法使用 Runbook 登录
- typescript - TypeScript:返回与参数相同的类型
- spring-boot - 如何使用 Testcontainers Cassandra 和 Spring Data for Apache Cassandra?
- java - RxJava2 中 onBackpressureBuffer 的行为是什么
- python - 运行耗时功能时如何运行和更新 Tkinter 小部件?
- powerbi - 如何在 power bi 的 DATESBETWEEN 函数中传递月份和年份(例如:Mar-19)?
- python - 如何将此密码学相关代码从 Go 移植到 Python
- django - 嵌套获取或创建功能 - DRF
- ios - Cognito 登录 - iOS 和服务器 API 身份验证