【发布时间】:2015-05-19 07:20:06
【问题描述】:
我是 R 的新手。 我有一个 24MB 的 CSV 文件。在装有 OS Yoswmite、4GB RAM 的 MacBook Air 上将其读入 RStudio。 R 版本 3.1.1 (2014-07-10)。查看View(df)的内容就OK了。正在尝试应用过滤器。不要受到任何打击。试图从字符转换为数字。 R 在铸造完成的列中用 NA 替换所有字符!这里会发生什么?似乎 R 无法读取单元格的内容。有什么关于编码的吗? 这就是我所做的: 先做个总结:
R 代码:
eiendommer <- read.csv("eiendommer.csv", sep = ";", quote = "", encoding="UTF-8", stringsAsFactors = FALSE)
View(eiendommer)# I can view the content of the csv file
filtereiendommer <- filter(eiendommer, kommune == "0101")# no match
filtereiendom <- eiendommer [eiendommer$kommune == "0101",]#no match
utvalg <- eiendommer[160567:161934,]#manual selection of rows do work utvalgsortert <- arrange(utvalg, desc(jordbruksareal), desc(skogareal))# works
View(utvalgsortert)
##Try to transform columns from character to number.
transformedEiendom <- transform(sortertEiendom, jordbruksareal = as.numeric(jordbruksareal),
skogareal = as.numeric(skogareal) )
#This result in NA where it earlier was characters with lengt 1-3:"646", "18", "2"
总结:
kommune X.gardsnr. X.bruksnr. X.festenr. bruksnavn jordbruksareal
Length:207554 Length:207554 Length:207554 Length:207554 Length:207554 Length:207554
Class :character Class :character Class :character Class :character Class :character Class :character
Mode :character Mode :character Mode :character Mode :character Mode :character Mode :character
X.annetareal. skogareal X.fulldyrket. X.overflatedyrket. X.innmarksbeite.
Length:207554 Length:207554 Length:207554 Length:207554 Length:207554
Class :character Class :character Class :character Class :character Class :character
Mode :character Mode :character Mode :character Mode :character Mode :character
头:
head(eiendommer)
kommune X.gardsnr. X.bruksnr. X.festenr. bruksnavn jordbruksareal X.annetareal. skogareal X.fulldyrket.
1 "0101" "1" "1" "0" "PRESTEGÅRD" "0" "5" "0" "0"
2 "0101" "1" "6" "0" "MO" "8" "4" "7" "8"
3 "0101" "1" "9" "0" "BERG GÅRD" "415" "16" "39" "415"
4 "0101" "2" "1" "0" "BOBERG" "467" "22" "276" "463"
5 "0101" "4" "1" "0" "LUNDESTAD" "877" "62" "793" "837"
6 "0101" "4" "5" "0" "LEIREN" "74" "14" "165" "74"
【问题讨论】:
-
Hei CodeR,您的问题不是如何读取 CSV 文件,而是如何将对象从一类转换为另一类。