linux中将矩阵数据转换为一列数据
1、测试数据
root@PC1:/home/test# ls a.txt root@PC1:/home/test# cat a.txt i u k f 2 3 8 7 s j 9 4
2、形式1(按照行进行排列)
root@PC1:/home/test# ls a.txt root@PC1:/home/test# cat a.txt i u k f 2 3 8 7 s j 9 4 root@PC1:/home/test# cat a.txt | sed 's/ /\n/g' i u k f 2 3 8 7 s j 9 4 root@PC1:/home/test# cat a.txt | tr " " "\n" i u k f 2 3 8 7 s j 9 4
R实现:
> dir() [1] "a.txt" > dat <- read.table("a.txt", header = F) > dat V1 V2 V3 V4 1 i u k f 2 2 3 8 7 3 s j 9 4 > res <- data.frame() > for (i in 1:nrow(dat)) { + colx <- t(dat[i,]) + colnames(colx) <- "colname" + res <- rbind(res, colx) + } > res colname V1 i V2 u V3 k V4 f V11 2 V21 3 V31 8 V41 7 V12 s V22 j V32 9 V42 4
3、形式2(按照列进行排列)
root@PC1:/home/test# ls a.txt root@PC1:/home/test# cat a.txt i u k f 2 3 8 7 s j 9 4 root@PC1:/home/test# for i in `seq $(head -n 1 a.txt | awk '{print NF}')`; do cut -d " " -f $i a.txt; done i 2 s u 3 j k 8 9 f 7 4
R实现:
> dir() [1] "a.txt" > dat <- read.table("a.txt", header = F) > dat V1 V2 V3 V4 1 i u k f 2 2 3 8 7 3 s j 9 4 > res <- vector() > for (i in 1:ncol(dat)) { + res <- c(res, dat[,i]) + } > res <- as.data.frame(res) > res res 1 i 2 2 3 s 4 u 5 3 6 j 7 k 8 8 9 9 10 f 11 7 12 4
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
2021-03-22 c语言中数组中元素的个数