循环通过R中的列

And*_*ndy 7 statistics loops r

我使用的R's stats包,并希望通过循环column[x]all the rows of a dataframe,对数据进行操作在each cell与功能的柱和(与该结果传递给一个新列calculated resultnew column与数据对准column[x])

我有两个问题:

  1. 我无法让它发挥作用
  2. R articles我读过的时候,似乎不鼓励循环.是否有替代方法,如果没有,有没有人有一个如何执行循环的例子?

Mat*_*ker 12

没有任何例子,很难知道如何回应.然而,您所描述的基本情况是:

#Just a very simple data frame
dat <- data.frame(x = c(1, 2, 3))
#Compute the squared value of each value in x
dat$y <- dat$x^2
#See the resultant data.frame, now with column y
dat
Run Code Online (Sandbox Code Playgroud)

当你告诉R对一个矢量(或类似矢量的结构,如dat $ x)进行平方时,它知道分别对每个值求平方.您不需要在大多数情况下显式循环这些值 - 尽管如Dirk所说,如果它们导致您出现问题,您应该只担心优化循环.也就是说,我当然更喜欢阅读和写作

dat$y <- dat$x^2
Run Code Online (Sandbox Code Playgroud)

至:

for(i in 1:length(dat$x)){
  dat$y[i] <- dat$x[i]^2
}
Run Code Online (Sandbox Code Playgroud)

... 在可能的情况.