我正在尝试将.csv文件读入R并使用此公式:
pheasant<-read.table(file.choose(),header=TRUE,sep=",")
Run Code Online (Sandbox Code Playgroud)
我收到此警告消息:
"incomplete final line found by readTableHeader on 'C:\Documents and Settings..."
Run Code Online (Sandbox Code Playgroud)
有一些我认为可能引起这种警告的事情,但不幸的是我不太了解R自己诊断问题,所以我想我会在这里发帖,希望别人可以为我诊断它!
任何帮助或建议将非常感谢!
我试图在R colClasses
中的read.csv
函数中指定选项.在我的数据中,第一列"时间"基本上是字符向量,而其余列是数字.
data <- read.csv("test.csv", comment.char="" ,
colClasses=c(time="character", "numeric"),
strip.white=FALSE)
Run Code Online (Sandbox Code Playgroud)
在上面的命令中,我希望R在"时间"列中读取"字符",其余为数字.虽然命令完成后"data"变量确实具有正确的结果,但R返回了以下警告.我想知道如何解决这些警告?
Warning messages:
1: In read.table(file = file, header = header, sep = sep, quote = quote, :
not all columns named in 'colClasses' exist
2: In tmp[i[i > 0L]] <- colClasses :
number of items to replace is not a multiple of replacement length
Run Code Online (Sandbox Code Playgroud)
德里克
有没有办法在read.table/read.csv中使用colClasses参数时指定Date格式?
(我意识到我可以在导入后进行转换,但是有很多像这样的日期列,在导入步骤中更容易实现)
我有一个.csv格式的日期列%d/%m/%Y
.
dataImport <- read.csv("data.csv", colClasses = c("factor","factor","Date"))
Run Code Online (Sandbox Code Playgroud)
这会导致转换错误.例如,15/07/2008
成为0015-07-20
.
data <-
structure(list(func_loc = structure(c(1L, 2L, 3L, 3L, 3L, 3L,
3L, 4L, 4L, 5L), .Label = c("3076WAG0003", "3076WAG0004", "3076WAG0007",
"3076WAG0009", "3076WAG0010"), class = "factor"), order_type = structure(c(3L,
3L, 1L, 1L, 1L, 1L, 2L, 2L, 3L, 1L), .Label = c("PM01", "PM02",
"PM03"), class = "factor"), actual_finish = structure(c(4L, 6L,
1L, 2L, 3L, 7L, 1L, 8L, 1L, 5L), .Label = c("", "11/03/2008",
"14/08/2008", …
Run Code Online (Sandbox Code Playgroud) 我正在编写一个R包,其中R代码与Java应用程序进行通信.Java应用程序输出CSV格式的字符串,我希望R代码能够直接读取字符串并将其转换为data.frame.
我是R的新手,我无法访问我导入的数据集.我正在使用RStudio并在导入我的csv文件时使用了导入数据集功能,并将该行从控制台窗口粘贴到源窗口.代码如下:
setwd("c:/kalle/R")
stuckey <- read.csv("C:/kalle/R/stuckey.csv")
point <- stuckey$PTS
time <- stuckey$MP
Run Code Online (Sandbox Code Playgroud)
但是,数据不是我所习惯的整数或数字,而是因素,所以当我尝试绘制变量时,我只得到直方图,而不是通常的情节.当检查数据时,它似乎是有序的,只是我无法使用它,因为它是因子形式.
几个月前我问了一个关于这个的问题,我认为答案已经解决了我的问题,但是我再次遇到了问题并且解决方案对我不起作用.
我正在导入CSV:
orders <- read.csv("<file_location>", sep=",", header=T, check.names = FALSE)
Run Code Online (Sandbox Code Playgroud)
这是数据帧的结构:
str(orders)
'data.frame': 3331575 obs. of 2 variables:
$ OrderID : num -2034590217 -2034590216 -2031892773 -2031892767 -2021008573 ...
$ OrderDate: Factor w/ 402 levels "2010-10-01","2010-10-04",..: 263 263 269 268 301 300 300 300 300 300 ...
Run Code Online (Sandbox Code Playgroud)
如果我length
在第一列OrderID上运行命令,我会得到:
length(orders$OrderID)
[1] 0
Run Code Online (Sandbox Code Playgroud)
如果我运行length
在OrderDate上,它会正确返回:
length(orders$OrderDate)
[1] 3331575
Run Code Online (Sandbox Code Playgroud)
这是复制/粘贴head
的CSV
.
OrderID,OrderDate
-2034590217,2011-10-14
-2034590216,2011-10-14
-2031892773,2011-10-24
-2031892767,2011-10-21
-2021008573,2011-12-08
-2021008572,2011-12-07
-2021008571,2011-12-07
-2021008570,2011-12-07
-2021008569,2011-12-07
Run Code Online (Sandbox Code Playgroud)
现在,如果我重新运行read.csv …
我有这个文件(http://b7hq6v.alterupload.com/en/),我想在R中阅读read.csv
.但我无法检测到正确的编码.它似乎是一种UTF-8.我在WindowsXP机器上使用R 2.12.1.任何帮助?
在R中,read.csv()和read.csv2()之间有什么区别
官方文件说,
在各种欧洲语言环境中,由于逗号字符用作小数点,因此应使用函数read.csv2
这是什么意思.我觉得在表面上没有任何区别.任何人都可以给出一个具体的例子来进一步澄清它.
我正在尝试导入日语的csv.这段代码:
url <- 'http://www.mof.go.jp/international_policy/reference/itn_transactions_in_securities/week.csv'
x <- read.csv(url, header=FALSE, stringsAsFactors=FALSE)
Run Code Online (Sandbox Code Playgroud)
返回以下错误:
Error in type.convert(data[[i]], as.is = as.is[i], dec = dec, na.strings = character(0L)) :
invalid multibyte string at '<91>?O<8b>y<82>??<e0><8f>?<94><94><84><94><83><8c>_<96>?@(<8f>T<8e><9f><81>E<8e>w<92><e8><95>@<8a>?x<81>[<83>X<81>j'
Run Code Online (Sandbox Code Playgroud)
我试图改变的编码(Encoding(url) <- 'UTF-8'
和也为latin1),并试图除去read.csv参数,但在每种情况下接收相同的"无效多字节字符串"消息.是否有应使用不同的编码,或者是有一些其他的问题吗?
我有一个带有两个标题行的CSV文件,第一行我想成为标题,但第二行我要丢弃.如果我执行以下命令:
data <- read.csv("HK Stocks bbg.csv", header = T, stringsAsFactors = FALSE)
Run Code Online (Sandbox Code Playgroud)
第一行成为标题,文件的第二行成为我数据框的第一行:
Xaaaaaaaaa X X.1 Xbbbbbbbbbb X.2 X.3
1 Date PX_LAST NA Date PX_LAST NA
2 31/12/2002 38.855 NA 31/12/2002 19.547 NA
3 02/01/2003 38.664 NA 02/01/2003 19.547 NA
4 03/01/2003 40.386 NA 03/01/2003 19.547 NA
5 06/01/2003 40.386 NA 06/01/2003 19.609 NA
6 07/01/2003 40.195 NA 07/01/2003 19.609 NA
Run Code Online (Sandbox Code Playgroud)
我想跳过CSV文件的第二行,然后得到
X1.HK.Equity X X.1 X2.HK.Equity X.2 X.3
2 31/12/2002 38.855 NA 31/12/2002 19.547 NA
3 02/01/2003 38.664 NA 02/01/2003 …
Run Code Online (Sandbox Code Playgroud)