我有 R data.table 有 25 列,第 1 列是 ID,24 列是整数变量。有接近 100 万行。我如何将所有这些非零值转换为 1
Custid A B C
123 0 8 0
124 0 0 6
应该变成
Custid A B C
123 0 1 0
124 0 0 1
最佳答案
假设你的 data.table 被称为 'dt',
df = as.data.frame(dt)
df[,-1] = (df[,-1] != 0)*1
有效。 -1
索引表示不包含第一列,然后括号内返回真假语句,*1
确保结果以数字形式返回表格。
如果您愿意,可以将其转回 data.table。
dt = data.table(df)
关于R data.table,如果大于0,则将每个单元格值替换为1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40832189/