在数据框

时间:2016-06-11 18:08:01

标签: r dataframe

我正在探索acss package

我想知道acss_data数据帧的给定长度的哪些字符串已分配了最大K.i值。

tail(acss_data)
             K.2 K.4 K.5 K.6      K.9
012345678883  NA  NA  NA  NA 50.28906
012345678884  NA  NA  NA  NA 50.31291
012345678885  NA  NA  NA  NA 49.71200
012345678886  NA  NA  NA  NA 49.81041
012345678887  NA  NA  NA  NA 49.51936
012345678888  NA  NA  NA  NA 48.61247

acss_data数据框包含与长度1到12的字符串相关联的K.2K.4K.5K.6K.9值,我想知道每个字符串长度的最大K.i,即,我想知道长度为1,长度为2,...长度为12的字符串的最大K.2。然后我想要知道长度为1,长度为2,......长度为12的字符串的最大K.4

如何在R中查询?

1 个答案:

答案 0 :(得分:1)

您可以使用聚合来汇总数据:

library(acss.data)
d=acss_data
d$len=nchar(rownames(d))  # calculate lengths of strings
d[is.na(d)]=-1            # fix NAs for max function
s=aggregate(d[,1:5], list(d$len), max)

结果是一个数据框:

   Group.1       K.2       K.4       K.5       K.6       K.9
1        1  2.514277  3.547388  3.947032  4.268200  4.964344
2        2  3.327439  5.414104  6.108780  6.675197  7.927055
3        3  5.505383  8.520908  9.432003 10.189697 11.905392
4        4  8.406714 12.231447 13.284113 14.182866 16.280365
5        5 11.834019 16.230760 17.340010 18.329451 20.735158
6        6 15.366332 19.993828 21.291613 22.410022 25.170522
7        7 18.989162 23.816377 25.389206 26.615356 29.685526
8        8 22.679752 27.556472 29.379371 30.880603 34.243156
9        9 26.343527 31.187297 33.264487 35.097073 38.851463
10      10 29.427574 34.891807 37.282071 39.258235 43.506412
11      11 32.778797 39.506517 42.000889 43.657406 48.208571
12      12 37.064199 40.506517 42.263923 43.657406 52.897870