Java 以正确的方式读取和写入data.frames
我的问题很简单,我有一个文件,其中包含大量的推文,每行一条,没有引号。读取文件后,我创建了“数据集”,以随机化它并消除重复:Java 以正确的方式读取和写入data.frames,java,r,twitter,read.table,write.table,Java,R,Twitter,Read.table,Write.table,我的问题很简单,我有一个文件,其中包含大量的推文,每行一条,没有引号。读取文件后,我创建了“数据集”,以随机化它并消除重复: dataset <- read.table(file, header=FALSE, sep="\n", stringsAsFactors=F) unique_ds <- unique.data.frame(dataset) random_ds <- unique_ds[sample(nrow(unique_ds)),] write.table(data.
dataset <- read.table(file, header=FALSE, sep="\n", stringsAsFactors=F)
unique_ds <- unique.data.frame(dataset)
random_ds <- unique_ds[sample(nrow(unique_ds)),]
write.table(data.frame(random_ds),file="tweets_final.txt", sep="\n", quote=F, col.names=F, row.names=F)
第二个问题:假设每行添加一个新变量(例如tweet的一个类别),当我将以R读回它时,就像csv文件一样,这种格式是否合适:“我的tweet”,键入下面的代码
ds <- read.csv(file = "tweet_classified.txt", header = FALSE, sep = ",",stringsAsFactors = FALSE, quote = "\"")
ds好的,我用gsub(“\”,“”,readLines(con))
替换read.table
解决了这个问题。
当我写入文件时,我将使用quote=T
下面是mycode:
file_list <- list.files()
for (file in file_list){
con <- file(file)
if (!exists("dataset")){
dataset <- data.frame(gsub("\"","'",readLines(con)),stringsAsFactors = F)
}
if (exists("dataset")){
temp_dataset <- data.frame(gsub("\"","'",readLines(con)),stringsAsFactors = F)
dataset<-rbind(dataset, temp_dataset)
rm(temp_dataset)
}
close.connection(con)
}
unique_ds <- unique.data.frame(dataset)
random_ds <- unique_ds[sample(nrow(unique_ds)),]
write.table(data.frame(random_ds, stringsAsFactors = F),file="unclassified.txt",col.names = F, row.names = F, quote = T)
file\u list一旦您开始在R中操作它,您是否需要tweet\u classified.txt
在java和R之间可移植?特别是,一旦您write.table()
您需要将该数据读回另一个堆栈中,还是以后只在R中使用它?为什么有sep=“\n“write.table()中的”
?这就是在文件中,在您正在编写的data.frame的每一列之间添加一条换行符R@devmacrile很可能会有。更糟糕的是,您可能插入了多个\n
sep字段分隔符字符串。x的每一行中的值都由该字符串分隔。
@ShawnMehan因为这个问题:sample.int(长度(x)、大小、替换、概率)中的错误:当我使用随机数据时,当“替换=假”时,无法获取大于总体的样本
file_list <- list.files()
for (file in file_list){
con <- file(file)
if (!exists("dataset")){
dataset <- data.frame(gsub("\"","'",readLines(con)),stringsAsFactors = F)
}
if (exists("dataset")){
temp_dataset <- data.frame(gsub("\"","'",readLines(con)),stringsAsFactors = F)
dataset<-rbind(dataset, temp_dataset)
rm(temp_dataset)
}
close.connection(con)
}
unique_ds <- unique.data.frame(dataset)
random_ds <- unique_ds[sample(nrow(unique_ds)),]
write.table(data.frame(random_ds, stringsAsFactors = F),file="unclassified.txt",col.names = F, row.names = F, quote = T)
dataset <- read.csv(file="unclassified.txt", header=FALSE, stringsAsFactors = FALSE,quote="\"")