【问题标题】:make multiple vectors based on subset根据子集制作多个向量
【发布时间】:2017-03-18 18:57:36
【问题描述】:

我想重复以下代码,将数字 1 替换为数字 1:32

test1<-subset.data.frame(df, df$thiessen.Subbasin==1)
v1<-c(test1$thiessen.Percentage)

最终这将生成 32 个向量。 我可以将上面的公式复制粘贴 32 次,然后将其替换为数字 1 到 32,但必须有一种不那么麻烦的方法。有谁知道,我怎么能循环这个?

【问题讨论】:

  • 使用split,即split(df$thiessen.Percentage, df$thiessen.Subbasin)
  • 32 是从哪里来的?它是 Subbasin 中的不同值吗?
  • 是的。因此 df$thiessen.Subbasin 列由 32 行(不包括标题)组成,其中包含数字 1 到 32。
  • 那么,向量会只包含一个值吗?为什么不是一个包含 32 个值的向量?

标签: r loops vector dataframe subset


【解决方案1】:

我不确定我是否理解这个问题,但似乎最简单的做法就是使用 for 循环,如下所示:

ans <- replicate(32, NA)
for (i in 1:32){
test1<-subset.data.frame(df, df$thiessen.Subbasin==i)
ans[i]<-test1$thiessen.Percentage
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-01-17
    • 1970-01-01
    • 2021-12-16
    • 2020-01-01
    • 2018-04-24
    • 2015-09-16
    • 1970-01-01
    相关资源
    最近更新 更多