Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 用向量命名_R - Fatal编程技术网

R 用向量命名

R 用向量命名,r,R,我正在尝试创建一个包含列和行名称的空矩阵: tbl = list.files(pattern="*.csv") col_names <- unique(tbl) mat_master_EOD <- matrix(0, nrow = length(data_rd[,1]),ncol = 82) colnames(mat_master_EOD) <- col_names rownames(mat_master_EOD) <- data_rd[,1] 问题是我有80列,只有

我正在尝试创建一个包含列和行名称的空矩阵:

tbl = list.files(pattern="*.csv")
col_names <- unique(tbl)

mat_master_EOD <- matrix(0, nrow = length(data_rd[,1]),ncol = 82)
colnames(mat_master_EOD) <- col_names
rownames(mat_master_EOD) <- data_rd[,1]
问题是我有80列,只有20个名字。我想为每个名称设置4列,第一列为“加入”,第二列为“说明”。应该是这样的:

Accession Description F1.csv_1 F1.csv_2 F1.csv_3 F1.csv_4 F2.csv_1 F2.csv_2 F2.csv_3 and so on...

每个“col_名称”创建四个名称的一种方法:

col_names <- c("F1.csv",  "F10.csv")
paste0(rep(col_names, each = 4), "_", 1:4)
# [1] "F1.csv_1"  "F1.csv_2"  "F1.csv_3"  "F1.csv_4"  "F10.csv_1" "F10.csv_2" "F10.csv_3"
# [8] "F10.csv_4"

col_name我认为这是不可能的(我不明白你为什么想要它)。你可以创建一个20*4*nrow数组,只命名两个维度。我不完全明白你的意思,但我想把所有数据保存在一个表中。我也不完全明白你的意思。矩阵的所有列都已命名,或者没有。这两者之间没有任何区别。您可能应该重新构造数据。我想命名所有列。第一个->加入,第二个->说明,之后是4列名为F1~、4列名为F2~、4列名为F3~和4列名为F4~等等。直到我达到F20~。因此,它总共给出了82个命名列。当然,我可以手动创建一个向量,但我懒得写所有这些名称。希望我现在解释得很好。EDITEDname\u cols您认为可以对它们进行排序吗?>标题(名称)[1]“F1.csv_1”“F1.csv_2”“F1.csv_3”“F1.csv_4”“F10.csv_1”“F10.csv_2”。我希望F1后面有F2,而不是F10…如果“col_名称”与您描述的一样规则,您可以从头开始创建名称:
paste0(“F”,rep(1:20,每个=4),“.csv_u”,1:4)
col_names <- c("F1.csv",  "F10.csv")
paste0(rep(col_names, each = 4), "_", 1:4)
# [1] "F1.csv_1"  "F1.csv_2"  "F1.csv_3"  "F1.csv_4"  "F10.csv_1" "F10.csv_2" "F10.csv_3"
# [8] "F10.csv_4"