【问题标题】:How can I loop through a determinated range of rows? [duplicate]如何遍历确定的行范围? [复制]
【发布时间】:2019-01-17 11:57:17
【问题描述】:

我被困在分析的开头。也许这个问题可能很愚蠢,但我想请求你的帮助以获得一些提示。 我有一个包含多个变量的数据框;每个变量有 10 个观测值。我的疑问是如何为每个变量估计前 5 个观察值的最大值和以下 5 个观察值的最大值。

这是我的代码示例:

    for (i in 1:length(ncols)){
 max.value <- max(var1)
}

提前非常感谢您

【问题讨论】:

  • 你能提供一个最小的可重现的例子吗?
  • 这里以 vegan 包中的数据集“iris”为例。在这种情况下,我想估计 50 个观察组中每个变量的最大值。请注意,在此数据集中,每组 50 个变量对应于变量种类的一个不同级别。 library(vegan) data("iris") data.test &lt;- iris[,1:4] for (i in 1:ncol(data.test)){ print (i) maxval &lt;- max(i) }谢谢!
  • 你需要aggregate(cbind(Sepal.Length, Sepal.Width, Petal.Length, Petal.Width) ~ Species, iris, max)吗?
  • 我认为你真正的问题是如何找到每个组的最大值?
  • 感谢您的 cmets。函数聚合效果很好:) 是的,我真正的问题是如何找到每个组的最大值,但是,如果没有组本身...我的意思是,我的数据集中没有变量组,但我先验地知道如何每个组都包含许多观察结果。

标签: r for-loop


【解决方案1】:
# Load data
data(mtcars)

# Add running ID to check results if you want to
mtcars$ID <- seq.int(nrow(mtcars))

# Make index to separate data 50/50
ind <- seq_len(0.5*nrow(mtcars))

# Make two DFs "first..." and "second..."
firstpart <- mtcars[ind, ]
secondpart <- mtcars[-ind, ]

# Look at the results
View(firstpart)
View(secondpart)

# do your stuff to data

【讨论】:

    猜你喜欢
    • 2015-10-17
    • 1970-01-01
    • 2016-11-06
    • 2021-04-08
    • 1970-01-01
    • 2019-06-23
    • 2021-04-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多