小编use*_*120的帖子

使用特定列表将数据框R中的变量分组

我有以下列表:

  group1<-c("A", "B", "D")
  group2<-c("C", "E")
  group3<-c("F")
Run Code Online (Sandbox Code Playgroud)

以及具有值和对应名称的数据框:

  df <- data.frame (name=c("A","B","C","D","E","F"),value=c(1,2,3,4,5,6))
  df
    name value
  1    A     1
  2    B     2
  3    C     3
  4    D     4
  5    E     5
  6    F     6
Run Code Online (Sandbox Code Playgroud)

我想使用名称列基于列表对数据进行分组;

  df
    name value    group
  1    A     1   group1
  2    B     2   group1
  3    C     3   group2
  4    D     4   group1
  5    E     5   group2
  6    F     6   group3
Run Code Online (Sandbox Code Playgroud)

并求和每组的值。

  df
       group sum
  1   group1   7
  2   group2   8
  3   group3   6
Run Code Online (Sandbox Code Playgroud)

我已经搜索了类似的帖子,但因遇到问题而无法使用它们。

variables grouping aggregate r list

5
推荐指数
1
解决办法
2万
查看次数

基于唯一列awk汇总行

我正在寻找一种更优雅的方式(超过100列):

awk '{a[$1]+=$4}{b[$1]+=$5}{c[$1]+=$6}{d[$1]+=$7}{e[$1]+=$8}{f[$1]+=$9}{g[$1]+=$10}END{for(i in a) print i,a[i],b[i],c[i],d[i],e[i],f[i],g[i]}'
Run Code Online (Sandbox Code Playgroud)

这是输入:

 a1 1   1   2   2
 a2 2   5   3   7
 a2 2   3   3   8
 a3 1   4   6   1
 a3 1   7   9   4
 a3 1   2   4   2
Run Code Online (Sandbox Code Playgroud)

并输出:

 a1 1 1 2 2
 a2 4 8 6 15
 a3 3 13 19 7
Run Code Online (Sandbox Code Playgroud)

谢谢 :)

awk unique count

4
推荐指数
1
解决办法
775
查看次数

基于行名称折叠,但列出所有折叠值

我有一个数据框,我想根据行名称折叠,列出一列中的所有值(见下文):

 name   value
 nameA  10
 nameA  3
 nameA  5
 nameB  5
 nameC  1
 nameC  44
Run Code Online (Sandbox Code Playgroud)

我想生成这个输出:

 name   value
 nameA  10,3,5
 nameB  5
 nameC  1,44
Run Code Online (Sandbox Code Playgroud)

我可以使用aggregate()吗?类似的方法我总结R中的值?

sum <-aggregate(cbind(value)~name,data = x,FUN = sum)

谢谢!

r collapse

2
推荐指数
1
解决办法
576
查看次数

在R中展开分隔的列

我想根据第一列中的值扩展或拆分包含多个列的大型数据框:

这是我的意见:

a1;a2;a3    X   1
b1;b2       Y   2
c           Z   3
d1;d2;d3    ZZ  4
Run Code Online (Sandbox Code Playgroud)

并输出:

a1  X   1
a2  X   1
a3  X   1
b1  Y   2
b2  Y   2
c   Z   3
d1  ZZ  4
d2  ZZ  4
d3  ZZ  4
Run Code Online (Sandbox Code Playgroud)

到目前为止,我遇到了以下解决方案 - http://www.r-bloggers.com/expand-delimited-columns-in-r/ 但我希望有人可以建议一种更简单的方法.

我很感激任何帮助.

expand split r dataframe

1
推荐指数
1
解决办法
118
查看次数

使用多个条件在R中对数据帧进行子集化的有效方法

是否有更清晰,更有效的方法使用多个条件对R中的数据帧进行子集?这是我的简化示例.包含一式三份的列(v1,v2,v3和v4,v5,v6)每行一式三份可包含最多一个0值,否则应排除:

v1  v2  v3  v4  v5  v6
1   0   3   0   0   2
1   1   1   1   2   0
0   0   0   1   1   0
0   0   0   0   0   0
Run Code Online (Sandbox Code Playgroud)

这是我解决问题的简单方法.

data_short<-subset(data, (((v1 != 0 & v2 !=0) | (v1 != 0 & v3 !=0) | (v2 != 0 & v3 !=0)) & ((v4 != 0 & v5 !=0) | (v4 != 0 & v6 !=0) | (v5 != 0 & v6 !=0)))

v1  v2  v3  v4  v5  v6 …
Run Code Online (Sandbox Code Playgroud)

r subset

1
推荐指数
1
解决办法
112
查看次数

标签 统计

r ×4

aggregate ×1

awk ×1

collapse ×1

count ×1

dataframe ×1

expand ×1

grouping ×1

list ×1

split ×1

subset ×1

unique ×1

variables ×1