【发布时间】:2014-05-25 06:53:34
【问题描述】:
我有一个这样的数据框(名称 t)
ID N com_a com_b com_c
A 3 1 0 0
A 5 0 1 0
B 1 1 0 0
B 1 0 1 0
B 4 0 0 1
B 4 1 0 0
我已经尝试过com_a*N com_b*N com_c*N
ID N com_a com_b com_c com_a_N com_b_N com_c_N
A 3 1 0 0 3 0 0
A 5 0 1 0 0 5 0
B 1 1 0 0 1 0 0
B 1 0 1 0 0 1 0
B 4 0 0 1 0 0 4
B 4 1 0 0 4 0 0
我使用for-function,但它需要很多时间我如何在大数据中快速完成
for (i in 1:dim(t)[1]){
t$com_a_N[i]=t$com_a[i]*t$N[i]
t$com_b_N[i]=t$com_b[i]*t$N[i]
t$com_c_N[i]=t$com_c[i]*t$N[i]
}
【问题讨论】:
-
你的数据集有多大?
-
t不是 R 中数据集的好名字,因为它是一个存储函数 -
@BenBolker 数据为 1085350*70。
-
你在为 2:69 列做乘法吗?
-
@BenBolker 必须乘以 4:70 列。变量 N 在 3 列中
标签: r