PSA:我不确定这是否属于主题/属于meta
新用户经常以其控制台上打印的版本发布其代码,例如
“这是我的数据:”
> data
Num Data
1 1 A
2 2 B
3 3 C
4 4 D
5 5 E
据我所知,这通常是痛苦的或无法复制的。 我是否缺少一种明显的方法,可以将非结构化数据转换为可再现的数据?(除了要求用户处理其数据外)
如果没有,我想考虑创建一个软件包来这样做。以下是此类程序包中存在的功能的不可靠,不鲁棒的示例。
Dump_to_DF<-function(dump){
test<-regmatches(dump
, gregexpr(".*\n|.*$",
dump, perl=TRUE))
test2<-unlist(test)
test3<-strsplit(test2, split="\\s+",perl = T)
len<-length(test3)
test5<-list()
for(i in 2:len){
test4<-unlist(test3[[i]])
test5[[i]]<-test4[-1]
}
test5<-test5[-1]
Fin_Data<-do.call(rbind.data.frame, test5)
names(Fin_Data)<-test3[[1]]
return(Fin_Data)
}
data<-"Num Data
1 1 A
2 2 B
3 3 C
4 4 D
5 5 E"
Data<-Dump_to_DF(data)
> Data
Num Data
1 1 A
2 2 B
3 3 C
4 4 D
5 5 E
是否存在与该功能相似的功能?
对于任何想知道我动机的人,我讨厌等待,宁愿能够快速编辑一个新问题以包括可复制的数据,以便每个人都可以更快地处理答案。最终还可以让SO机器人使用类似的方法来建议编辑。
答案 0 :(得分:2)
读取给定数据的一种方法是这样的:
data <- read.table(text="Num Data
1 1 A
2 2 B
3 3 C
4 4 D
5 5 E")
如果有标题,则可能需要在命令中添加header=T
。