小编joh*_*ric的帖子

将R中的特定其他列与data.table相乘多列?

我在R中有一个大的data.table,其中有几列带有美元值.在另一栏中,我有一个通胀调整数字.我试图找出如何用它乘以通胀调整列来更新我的每个货币列.假设我有数据:

   DT <- data.table(id=1:1000,year=round(runif(1000)*10), 
          inc1 = runif(1000), inc2 = runif(1000), inc3 = runif(1000),    
          deflator = rnorm(1000))
Run Code Online (Sandbox Code Playgroud)

给出输出:

             id year      inc1      inc2       inc3    deflator
   1:    1    8 0.4754808 0.6678110 0.41533976 -0.64126988
   2:    2    2 0.6568746 0.7765634 0.70616373  0.39687915
   3:    3    6 0.8192947 0.9236281 0.90002534 -0.69545700
   4:    4    4 0.7781929 0.1624902 0.17565790  0.05263055
   5:    5    7 0.6232520 0.8024975 0.86449836  0.70781887
  ---                                                     
 996:  996    2 0.9676383 0.2238746 0.19822000  0.78564836
 997:  997    9 0.9877410 0.5783748 0.57497438 -1.63365223
 998:  998    8 0.2220570 0.6500632 0.19814932  1.00260174 …
Run Code Online (Sandbox Code Playgroud)

r data.table

29
推荐指数
2
解决办法
1万
查看次数

在R中导出数据时,如何用1和0替换TRUE和FALSE值?

我使用以下命令从R导出数据:

write.table(output,file="data.raw", na "-9999",sep="\t",row.names=F,col.names=F)
Run Code Online (Sandbox Code Playgroud)

正确导出我的数据,但它将所有逻辑变量导出为TRUE和FALSE.

我需要将数据读入另一个只能处理数值的程序.有没有一种有效的方法在导出期间将这些转换为数字1和0?我有大量的数字变量,所以我希望自动遍历data.table中的所有变量

我意识到我可以在输出数据上运行简单的sed脚本,但看起来这应该是从R直接做的.

或者,我的输出对象是data.table.有没有一种有效的方法将data.table中的所有逻辑变量转换为数字变量?

如果它有用,这里有一些代码来生成一个带有逻辑变量的data.table(它不是大量的逻辑变量,但足以在示例代码上使用):

DT = data.table(cbind(1:100,rnorm(100)>0)
DT[ ,V3:= V2==1 ]
DT[ ,V4:= V2!=1 ]
Run Code Online (Sandbox Code Playgroud)

这似乎是一个简单的问题,但它让我失望,所以谢谢你的帮助!

r data.table

21
推荐指数
6
解决办法
6万
查看次数

标签 统计

data.table ×2

r ×2