【问题标题】:Row division for even number rows偶数行的行划分
【发布时间】:2016-04-19 19:24:44
【问题描述】:

我正在尝试划分第一行与第二行,第三行与第四行第五行与第六行 > 及以后的相当大的数据表。有没有什么方法可以在没有太多计算的情况下做到这一点。

输入

Name Month Income
John Jan 10000 
John_County Jan 20000 
Tanya Jan 20000 
Tanya_County Jan 40000

输出

Name Month Per_Income
John Jan 50%
Tanya Jan 50% 

【问题讨论】:

  • Is there any way to do it without much computation你试过什么?
  • 我想你忘了添加javascriptpythoncphp 和许多其他标签,不是吗?
  • 缺点是会浪费别人的时间。标签的目的不是让你引起对帖子的关注,而是让潜在的回答者找到他们会感兴趣的问题。
  • 试试Per_Income <- II[c(F,T),3] / II[c(T,F),3]
  • 您需要先修复收入列 - 逗号会打乱任何代码

标签: r division


【解决方案1】:

您可以使用“前瞻”合并,通过单个观察偏移合并的数据集:

数据要; 合并有 有 (firstobs=2 rename=(Income=Next_Income)) ; 如果 mod(_n_,2) = 1 则执行; /* 第 1、3、5 等行 */ Per_Income = 收入 / Next_Income ; 输出 ; 结尾 ; 跑 ;

【讨论】:

  • @LonelySoul 我希望我能再次对你投反对票。逻辑是一样的。 假装付出一些努力吧?
  • @findwindow 。我能理解你的痛苦。但是我很好奇您是否有任何解决方案,如果有,那么您为什么不通过分享来帮助我们。
  • @LonelySoul 这就是为什么你不添加SAS 标签的原因,除非你想要SAS 答案。
【解决方案2】:

在 R 中,您可以使用偶数和奇数索引:

odds <- c(TRUE, FALSE)
II[odds,"Per_Income"] <- paste0(II[odds,3] / II[!odds,3] * 100,"%")
II[odds,]
#    Name Month Income Per_Income
# 1  John   Jan  10000        50%
# 3 Tanya   Jan  20000        50%

【讨论】:

  • @pierre,亲爱的。感谢分享结构。我可以在它之上构建一些东西
  • 这里真的需要字符栏吗?将其保留为双精度会更实用吗?
猜你喜欢
  • 2012-05-19
  • 2012-06-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-02
相关资源
最近更新 更多