從列中刪除值大家好,
我想從列中刪除值。 通常,我會使用範圍檢查列屬性來執行此操作,但對於此特定列,它還依賴另一列的值。 是否有捷徑可尋?
我嘗試了下面的程式碼,但不幸的是,它使除第一行之外的整列為空。 我以為這個可能工作是因為“.”代表缺失值。 數據和建模類型是數字和連續的。
對於(i=1, i<=NRows(dt), i++,
If(dt:Col 1[i] < someValue, If(dt:Col 2[i]==1, ,dt:Col 1[i] = "."),dt:Col 1[i] = "." );
);
回覆:從列中刪除值這也是個好主意! 感謝您的幫助。
回覆:從列中刪除值娜塔莉,
我相信從效率的角度來看,這會做你想要的
dt << select rows where( Not( dt:Col 1 < someValue & dt:Col 2 == 1 ) );
dt:Col 1[dt << get selected rows] = "";
回覆:從列中刪除值我找到了一種方法讓它發揮作用,但我不知道它的效率如何。 我將列中的值儲存到清單中,刪除一列,建立一個新列,並將傳遞的值新增到新列中。 如果不是通過的觀察,則不會添加它,並且該單元格中的條目只是一個“。”
idList = 列表();
idList = As List(:Col X<< 取得值);
idLogic = 列表();
idLogic = As List(:Col Y<<取得值);
dt << 新欄位("Col X", 數字, 連續);
For(i=1, i<=N 行(dt), i++,
If(idList[i] < someValue, If(idLogic[i]==1,dt:Col X[i] = idList[i],),);
);