简化combn函数输出:去除空格及行列标记
解决combn输出格式化问题
假设combn生成的是类似这样的数值矩阵(对应你提供的示例结构):
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [1,] 1 1 1 1 1 1 2 2 2 3 [2,] 2 2 2 3 3 4 3 3 4 4 [3,] 3 4 5 4 5 4 4 5 5 5
要将每行转换为连续无分隔的字符串,不需要用trimws()或gsub()(因为原数据是数值矩阵,不存在多余空格),直接用apply()结合paste()的collapse参数即可实现:
# 生成示例combn结果(替换成你实际的combn调用) comb_matrix <- combn(c(1,2,3,4,5), 3) # 对每行进行字符串拼接 formatted_output <- apply(comb_matrix, 1, function(row) paste(row, collapse = "")) # 按行输出结果 cat(formatted_output, sep = "\n")
运行后会输出:
1111112223 2223343344 3454544555
关键说明
combn()默认返回的是数值矩阵,每行是一组组合的元素。apply(..., 1, ...)表示对矩阵的每行执行操作,paste(row, collapse = "")会把该行的所有元素直接拼接成一个无分隔符的字符串,完全符合你需要的格式。
内容的提问来源于stack exchange,提问作者neurosciencecalc
相关产品推荐
相关产品推荐

