我发现read.csv("file.csv")$V1
可能有助于将导出的表拆分为列,但我的数据以逐行的方式组织,所以我想从e {{1}按顺序将元素记录到向量中}。有什么想法可以在R中完成吗?
更新: 导入的mydata看起来像:
lement[1][1] ->...->element[n][n]
所需的输出为矢量:c(1,2,3,4,5,6,7 ......)
答案 0 :(得分:2)
使用我提供的代码,一个简单的解决方案可能是简单地提取行,但它看起来太容易了,也许我错过了一些东西。
new_dat <- dat[1, ]
new_dat
[1] 1 4 7 10 13 16 19 22 25
我的解决方案运行良好,但效率不高。在这里,我有一个改进的循环版本,因此您可以只在一个命令中单独存储对象。
首先定义将成为对象名称的元素:
val <- c(1:3)
nam <- "new_dat_"
然后用循环提取所有元素。
for(i in 1:nrow(dat)){ assign(paste(nam, val, sep = "")[i], dat[i, ]) }
之后使用ls()
,您应该会看到3个名为new_dat_1","new_dat_2", "new_dat_3" "val"
的元素,每个元素都包含一行数据。如果您必须提取多行而不仅仅是一行并导致此输出,则此解决方案非常有用:
new_dat_3
[1] 3 6 9 12 15 18 21 24 27
new_dat_1
[1] 1 4 7 10 13 16 19 22 25
new_dat_2
[1] 2 5 8 11 14 17 20 23 26