将Excel .xlsx转换为R中的向量列表

时间:2018-05-09 14:16:04

标签: r excel list

将.xlsx文件导入R(readxl包)后,如何从中导出向量列表(第一列作为向量名称)?

示例.xlsx输入(请注意,每行的列数可变):

row_1 | A | B |
row_2 | C | D | E |
row_3 | F | G | H | I |

输出我想获得:

$`row_1`
[1] "A" "B"

$`row_2` 
[1] "C" "D" "E" 

$`row_3`
[1] "F" "G" "H" "I" 

到目前为止我的尝试:

xcel <- read_excel("my_data.xlsx", col_names=F)
df <- scan(xcel)

我尝试了不同版本的这个命令行,但最终得到文件中的错误(文件,&#34; r&#34;):无效&#39;描述&#39;参数&#39;或者&#39;扫描错误(xcel):&#39;文件&#39;必须是字符串或连接,取决于我是否转换了&#39; xcel&#39;作为数据框架与否。

1 个答案:

答案 0 :(得分:1)

您可以applyna.omit一起使用read_excel的返回值来获得您想要的内容:

xcel <- read_excel("my_data.xlsx", col_names=FALSE)
xl <- apply(xcel,1,function(r)as.vector(na.omit(r))[-1])
names(xl) <- xcel[[1]]

xl看起来像:

$row_1
[1] "A" "B"

$row_2
[1] "C" "D" "E"

$row_3
[1] "F" "G" "H" "I"