2016-12-12 91 views
1

我有一個缺少值的負載表,如果缺少三個列值,我想刪除行。刪除沒有值的行

我累了cmiss(的所有),但那是刪除所有值不只是第二個obs。

在下面的例子中,我只需要2行刪除,而不是4 ..

碼我用:

if click =. then delete; 
else if activity=. then delete; 
else if impression=. then delete; 
run; 

這並沒有幫助:/

的表在這種形式

obs  Clicks  Activity  Impression 
1   2   7   100 
2   -   -   - 
3   3   9   170 
4   6   2   - 

我想刪除第2和第4行,因爲他們有一個缺少的數字。 有人嗎?

+0

您的語言不清楚。如果_any_缺失,或者_all_缺失,你想刪除?第2行是_all_,第4行是_any_。 – Joe

+0

對不起。如果全部丟失,我想刪除。 –

+0

如果你想刪除第4行,或者如果(也可能)'activity = .'(本身),那麼你正在尋找的單詞是*任何*都不是*全部*。如果* all *缺失,您將*只刪除第4行*。 – gravity

回答

0

請看下面的例子:

data set4; 
    infile datalines missover; 
    input VAR1 VAR2; 
datalines; 
1 2 

6 9 
4 
run; 

data set5; 
set set4; 
if missing(VAR1) and missing(VAR2) then delete; 
run; 

data set6; 
set set4; 
if missing(VAR1) or missing(VAR2) then delete; 
run; 
如果你想刪除的行,因爲所有的變量都丟失,則會使用

和。 如果您想刪除該行,因爲缺少任何變量,請使用OR。

+0

該死!如果然後做到了。這很容易。簡直讓我很尷尬。感謝您的迴應! –