我有几个长度不等的向量,我想要cbind
他们.我把矢量放到一个列表中,我试图结合使用do.call(cbind, ...)
:
nm <- list(1:8, 3:8, 1:5)
do.call(cbind, nm)
# [,1] [,2] [,3]
# [1,] 1 3 1
# [2,] 2 4 2
# [3,] 3 5 3
# [4,] 4 6 4
# [5,] 5 7 5
# [6,] 6 8 1
# [7,] 7 3 2
# [8,] 8 4 3
# Warning message:
# In (function (..., deparse.level = 1) :
# number of rows of result is not a multiple of vector …
Run Code Online (Sandbox Code Playgroud) 如何使用AWK计算一列数值数据的中位数?
我可以想到一个简单的算法,但我似乎无法编程:
到目前为止我所拥有的是:
sort | awk 'END{print NR}'
Run Code Online (Sandbox Code Playgroud)
这给了我列中元素的数量.我想用它来打印某一行(NR/2)
.如果NR/2
不是整数,那么我向上舍入到最接近的整数,这是中位数,否则我取平均值(NR/2)+1
和(NR/2)-1
.
我想在awk或cut命令中输入字符串名称(即"COL2")并打印与该列标题字符串匹配的列.
数据文件如下所示:
COL1 COL2 COL3 COL4 COL5 COL6
a a b d c f
a d g h e f
c v a s g a
Run Code Online (Sandbox Code Playgroud)
如果我传入COL3,我希望它打印第三列,等等.我认为awk可能是最容易使用的东西,但切割也可以.我只是不确定如何去做这件事.