[R language] data input

Posted by dico on Sat, 25 Dec 2021 02:09:34 +0100

[R language] (II) data input
1, Keyboard input
The edit function in R will click a text editor that allows manual input
example:

 mydata <- data.frame(age=numeric(0),gender=character(0),weight=numeric(0))
 #numeric(length)

An assignment statement like age=numeric(0) will create a variable with the specified pattern but no actual data
Specific steps:
1. Create an empty data frame to determine the data mode
2. Use edit to call the text editor

> mydata <- edit(mydata)

Note: you cannot directly edit (), because the function edit () actually operates on a copy of the object and needs to be assigned to a target. In this case: mydata
The statement mydata < - edit (mydata) is equivalent to fix(mydata)

> fix(mydata)


In addition, data sets can be embedded directly in the program (write data sets out in the program)
For example:

> mydata <- '
+ age gender weight
+ 25 m 166
+ 30 f 115
+ 18 f 120
+ '
> mydata1 <- read.table(mydata,header = TRUE)
Error in file(file, "rt") : Unable to open the link
 in addition: Warning message:
In file(file, "rt") : could not open file'
age gender weight
25 m 166
30 f 115
18 f 120
': Invalid argument
> mydata2 <- read.table('mydata',header = TRUE)
Error in file(file, "rt") : Unable to open the link
 in addition: Warning message:
In file(file, "rt") : could not open file'mydata': No such file or directory
> mydata3 <- read.table(text=mydata,header = TRUE)
> mydata4 <- read.table(header = TRUE, text=mydata)
> mydata3
  age gender weight
1  25      m    166
2  30      f    115
3  18      f    120
> mydata4
  age gender weight
1  25      m    166
2  30      f    115
3  18      f    120

Note: the data set embedded in the code needs to be clearly indicated=*
Unlike reading externally**

2, Import data from delimited text files

> grades <- read.table('studentgrades.csv',header = TRUE,row.names = 'studentid',sep = ',')
Warning message:
In read.table("studentgrades.csv", header = TRUE, row.names = "studentid",  :
  incomplete final line found by readTableHeader on 'studentgrades.csv'
> grades
[1] row.names      first          second        
[4] math           science        social.studies
<0 that 's ok> (Or 0-Length row.names)
> a <- read.table('scan.csv',header = TRUE,row.names = 'site_color')
Error in data[[rowvar]] : 
  attempt to select less than one element in get1index
> a <- read.table('scan.csv',header = TRUE,row.names = 'code')
Error in data[[rowvar]] : 
  attempt to select less than one element in get1index


(some steps have location problems in practice
Solution: csv xlsx swap read table xlsx
Try separately

3, Import Excel data
The best way to read an excel file is to export it as a comma separated file (csv) in Excel and import it into R in the way described above

in addition
You can import Excel worksheets directly using xlsx package
(you also need the xlsxjars package, the rjava package, and a working Java)
Troubleshooting:
1. Pay attention to whether the relevant packages are updated and whether the file name of the automatically updated java changes, resulting in the invalidation of the previously added environment variables
2. Error reporting in the following form

Load the required program package: rJava
Error: package or namespace load failed for 'rJava':
 loadNamespace()Li Suan'rJava'Time.onLoad Failed, details:
  call: fun(libname, pkgname)
  error: No CurrentVersion entry in Software/JavaSoft registry! Try re-installing Java and make sure R and Java have matching architectures.
Error: Unable to load program package'rJava'

Pay attention to checking environment variables
(thanks for the article) Reading Excel file with R: handling of xlsx package loading exception)

example:

> mydataframe <- read.xlsx('data',1)
Error in loadWorkbook(file, password = password) : Cannot find data#Note: add format
> mydataframe <- read.xlsx('data.xlsx',header = TRUE)
Error in read.xlsx("data.xlsx", header = TRUE) : 
  Please provide a sheet name OR a sheet index.
  #Note to add sheet serial number
> mydataframe <- read.xlsx('data.xlsx',1)
> mydataframe
                   NA.  mpg cyl  disp  hp drat    wt
1            Mazda RX4 21.0   6 160.0 110 3.90 2.620
2        Mazda RX4 Wag 21.0   6 160.0 110 3.90 2.875
3           Datsun 710 22.8   4 108.0  93 3.85 2.320
4       Hornet 4 Drive 21.4   6 258.0 110 3.08 3.215
5    Hornet Sportabout 18.7   8 360.0 175 3.15 3.440
6              Valiant 18.1   6 225.0 105 2.76 3.460
7           Duster 360 14.3   8 360.0 245 3.21 3.570
8            Merc 240D 24.4   4 146.7  62 3.69 3.190
9             Merc 230 22.8   4 140.8  95 3.92 3.150
10            Merc 280 19.2   6 167.6 123 3.92 3.440
11           Merc 280C 17.8   6 167.6 123 3.92 3.440
12          Merc 450SE 16.4   8 275.8 180 3.07 4.070
13          Merc 450SL 17.3   8 275.8 180 3.07 3.730
14         Merc 450SLC 15.2   8 275.8 180 3.07 3.780
15  Cadillac Fleetwood 10.4   8 472.0 205 2.93 5.250
16 Lincoln Continental 10.4   8 460.0 215 3.00 5.424
17   Chrysler Imperial 14.7   8 440.0 230 3.23 5.345
18            Fiat 128 32.4   4  78.7  66 4.08 2.200
19         Honda Civic 30.4   4  75.7  52 4.93 1.615
20      Toyota Corolla 33.9   4  71.1  65 4.22 1.835
21       Toyota Corona 21.5   4 120.1  97 3.70 2.465
22    Dodge Challenger 15.5   8 318.0 150 2.76 3.520
23         AMC Javelin 15.2   8 304.0 150 3.15 3.435
24          Camaro Z28 13.3   8 350.0 245 3.73 3.840
25    Pontiac Firebird 19.2   8 400.0 175 3.08 3.845
26           Fiat X1-9 27.3   4  79.0  66 4.08 1.935
27       Porsche 914-2 26.0   4 120.3  91 4.43 2.140
28        Lotus Europa 30.4   4  95.1 113 3.77 1.513
29      Ford Pantera L 15.8   8 351.0 264 4.22 3.170
30        Ferrari Dino 19.7   6 145.0 175 3.62 2.770
31       Maserati Bora 15.0   8 301.0 335 3.54 3.570
32          Volvo 142E 21.4   4 121.0 109 4.11 2.780
    qsec vs am gear carb
1  16.46  0  1    4    4
2  17.02  0  1    4    4
3  18.61  1  1    4    1
4  19.44  1  0    3    1
5  17.02  0  0    3    2
6  20.22  1  0    3    1
7  15.84  0  0    3    4
8  20.00  1  0    4    2
9  22.90  1  0    4    2
10 18.30  1  0    4    4
11 18.90  1  0    4    4
12 17.40  0  0    3    3
13 17.60  0  0    3    3
14 18.00  0  0    3    3
15 17.98  0  0    3    4
16 17.82  0  0    3    4
17 17.42  0  0    3    4
18 19.47  1  1    4    1
19 18.52  1  1    4    2
20 19.90  1  1    4    1
21 20.01  1  0    3    1
22 16.87  0  0    3    2
23 17.30  0  0    3    2
24 15.41  0  0    3    4
25 17.05  0  0    3    2
26 18.90  1  1    4    1
27 16.70  0  1    5    2
28 16.90  1  1    5    2
29 14.50  0  1    5    4
30 15.50  0  1    5    6
31 14.60  0  1    5    8
32 18.60  1  1    4    2

Function read The simplest form of xlsx () is (file, n)
ps:
1.read.xlsx () some options allow you to specify specific rows (rowIndex) and columns (colIndex) in the worksheet, together with the classes (colclasses) of each column.
2. For large workbooks, you can use read Xlsx2() function

Please refer to the help document help (read.xlsx) for more details

There are other packages and operation options that help optimize the import process
eg:XLConnec (dependent) t and openxlsx (java independent)

Several temporarily unused data sources
XML
Web
SPSS
SAS
Stata
NetCDF
HDF5
Access database management system

Read text reference