2017-05-08 59 views
1

我是新來的R和我想知道是否有用於擴展和通過散佈我的意思是,例如,如果我有這樣的data.table庫:傳播價值

DT <- data.table(V1 = c(1L,2L), V2 = LETTERS[1:4], V4 = 1:4) 

我assing 15到V4列:

值將被調整,使之現在是15:

DT <- data.table(V1 = c(1L,2L), V2 = LETTERS[1:4], V4 = c(1.5,3,4.5,6)). 

(新值是乘以15 /總和(列) - > 15/10)

這是我必須做的最簡單的例子,這就是爲什麼我問是否有圖書館。

回答

1

您可以使用以下來計算數量相乘15/10=1.5然後.I

DT <- data.table(V1 = c(1L,2L), V2 = LETTERS[1:4], V4 = 1:4) 
DT$V4 = 15 
DT[,V4:=.I*V4/sum(seq(.N))] 

DT 
# V1 V2 V4 
# 1: 1 A 1.5 
# 2: 2 B 3.0 
# 3: 1 C 4.5 
# 4: 2 D 6.0 
乘以