r - 如何在 R 中正确使用 read.table 与该数据库?
问题描述
我正在尝试用read.table(file="clipboard")
R 读取这个虚拟数据库:
Aspecto Sexo Ranking
1 Imagen Hombre 7.50
2 Mantenimiento Hombre 7.18
3 Otro Hombre 7.05
4 Espacios de venta Hombre 6.91
5 Vigilancia Hombre 6.36
6 Tiempo Hombre 6.51
7 Espacios libres Hombre 6.40
8 Imagen Mujer 7.21
9 Mantenimiento Mujer 7.30
10 Otro Mujer 6.90
11 Espacios de venta Mujer 7.02
12 Vigilancia Mujer 6.53
13 Tiempo Mujer 6.40
14 Espacios libres Mujer 5.78
这段代码似乎工作:
pw <- read.table(file="clipboard", dec=".", sep=",", header=TRUE)
但结构显然是我不想要的:
str(pw)
'data.frame': 14 obs. of 1 variable:
$ Aspecto...Sexo......Ranking: Factor w/ 14 levels "1
我尝试了很多事情fill=TRUE
,包括其他论点,但我就是无法得到我所期望的。例如:
pw <- read.table(file="clipboard", dec=".", sep="", header=TRUE)
Error in read.table(file = "clipboard", dec = ".", sep = "", header = TRUE) :
more columns than column names
任何建议将不胜感激。
解决方案
您可以使用read.fwf
, 因为列的宽度是固定的,并且字符串周围没有引号。由于第一行只有 3 个名称,我们跳过这一步,但稍后使用扫描读取它们。
clipboard <- read.fwf("clipboard.txt", widths=c(2,18,9,8), skip=1, as.is=TRUE)
# or row.names=1 to ignore the first un-named column
colnames(clipboard)[2:4] = scan("clipboard.txt", what=rep("character", 3), nlines=1)
str(clipboard)
'data.frame': 14 obs. of 4 variables:
$ V1 : num 1 2 3 4 5 6 7 8 9 10 ...
$ Aspecto: chr " Imagen" " Mantenimiento" " Otro" " Espacios de venta" ...
$ Sexo : chr " Hombre" " Hombre" " Hombre" " Hombre" ...
$ Ranking: num 7.5 7.18 7.05 6.91 6.36 6.51 6.4 7.21 7.3 6.9 ...
推荐阅读
- dspace - 在 weblogic 中安装 Dspace 6.3
- python - Python file.csv 在列表中读取和转换
- javascript - Electron Js 屏幕捕获(录制)
- reverse-engineering - JTAG flash 读/写如何在 MAXII EPM240 上工作,例如
- nginx - Nginx 无法从 Mojolicous 渲染静态文件
- logging - SphinxQL query_log conn 值定义
- r - 用户选择/多输入上的多个单独图
- image-processing - 通过优化找到给出圆柱中心线的最佳参数
- qlikview - Qlikview 折线图
- c# - 如何将背景图像应用于 Blazor 项目中 DevExpress DxDataGrid 中特定列的单元格?