我有R data.table有25列,第1列是ID,24列是整数变量.有近1M亿行.如何将所有这些非零值转换为1
Custid A B C
123 0 8 0
124 0 0 6
Run Code Online (Sandbox Code Playgroud)
应该成为
Custid A B C
123 0 1 0
124 0 0 1
Run Code Online (Sandbox Code Playgroud)
假设你的data.table被称为'dt',
df = as.data.frame(dt)
df[,-1] = (df[,-1] != 0)*1
Run Code Online (Sandbox Code Playgroud)
作品.的-1索引指示所述非夹杂物的第一列,然后内部的括号返回真或假语句,并*1确保该结果以数字形式返回.
如果需要,可以将其转回data.table.
dt = data.table(df)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2601 次 |
| 最近记录: |