0

2 つの数値列を持つデータセットがあります。

データセットの例:

X = c(-1:-20)
Y=c(11:30)
df=as.data.frame(cbind(X,Y))

私のデータセットは次のようになります。

     X  Y
1   -1 11
2   -2 12
3   -3 13
4   -4 14
5   -5 15
6   -6 16
7   -7 17
8   -8 18
9   -9 19
10 -10 20
11 -11 21
12 -12 22
13 -13 23
14 -14 24
15 -15 25
16 -16 26
17 -17 27
18 -18 28
19 -19 29
20 -20 30

100 を -10 未満の値に減算できるループを使用しています。

for (i in 1:length(df[,1]))
{
  if ((df$X[i]< c(-10.0)) == T)
  {df$X[i] = df$X[i] - 100}else
  {}
}

私の「実際の」データセットには 300,000 行が含まれており、ループには非常に時間がかかります。そのため、私は仕事をする適用機能を見つけようとしています。

library(plyr)
TAB1=ddply(df,.(X),function (x) x[(df$x)< c(-10.0)]-100)

しかし、それはまったく機能していません。

助けてくれてありがとう。

4

1 に答える 1