将data.dat读入R

将data.dat读入R,r,R,我想将此数据集导入R: 如果有人能帮助我,我真的很感激。我试过read.csv,read.table,但都不起作用。我不知道如何像在SAS中那样指定变量的长度。您可以使用一个函数,该函数基于大量字符(固定宽度)识别列。不过,您需要删除空白。您可以使用函数trimws xy <- read.fwf("http://www.stat.ufl.edu/~winner/data/retail92.dat", widths = c(38, 6, 8, 8, 8))

我想将此数据集导入R:


如果有人能帮助我,我真的很感激。我试过read.csv,read.table,但都不起作用。我不知道如何像在SAS中那样指定变量的长度。

您可以使用一个函数,该函数基于大量字符(固定宽度)识别列。不过,您需要删除空白。您可以使用函数
trimws

xy <- read.fwf("http://www.stat.ufl.edu/~winner/data/retail92.dat",
                  widths = c(38, 6, 8, 8, 8))

> head(xy)
                                      V1    V2    V3     V4     V5
1 Acadia, LA                             3.672 0.882 12.364  3.872
2 Ada, ID                                9.251 1.152 21.384  3.861
3 Adams, CO                              7.489 0.911 16.718  3.507
4 Adams, IN                              7.822 1.216 15.772  2.470
5 Aiken, SC                              6.451 1.032 18.474 19.201
6 Alachua, FL                            8.240 1.052 17.505  3.862
> str(xy)
'data.frame':   845 obs. of  5 variables:
 $ V1: Factor w/ 845 levels "Acadia, LA                            ",..: 1 2 3 4 5 6 7 8 9 10 ...
 $ V2: num  3.67 9.25 7.49 7.82 6.45 ...
 $ V3: num  0.882 1.152 0.911 1.216 1.032 ...
 $ V4: num  12.4 21.4 16.7 15.8 18.5 ...
 $ V5: num  3.87 3.86 3.51 2.47 19.2 ...
xy头(xy)
V1 V2 V3 V4 V5
1阿卡迪亚,洛杉矶3.672 0.882 12.364 3.872
2 Ada,识别号9.251 1.152 21.384 3.861
3美国科罗拉多州亚当斯7.489 0.911 16.718 3.507
4亚当斯,在7.822 1.216 15.772 2.470
5艾肯,SC 6.451 1.032 18.474 19.201
6阿拉丘亚,佛罗里达州8.240 1.052 17.505 3.862
>str(xy)
“数据帧”:845 obs。共有5个变量:
$V1:系数w/845水平“阿卡迪亚,洛杉矶”…:1 2 3 4 5 6 7 8 9 10。。。
$V2:num 3.679.257.497.826.45。。。
$V3:num 0.882 1.152 0.911 1.216 1.032。。。
$V4:num 12.421.416.715.818.5。。。
$V5:num 3.873.863.512.4719.2。。。

您可以使用一个函数,该函数根据字符数(固定宽度)识别列。不过,您需要删除空白。您可以使用函数
trimws

xy <- read.fwf("http://www.stat.ufl.edu/~winner/data/retail92.dat",
                  widths = c(38, 6, 8, 8, 8))

> head(xy)
                                      V1    V2    V3     V4     V5
1 Acadia, LA                             3.672 0.882 12.364  3.872
2 Ada, ID                                9.251 1.152 21.384  3.861
3 Adams, CO                              7.489 0.911 16.718  3.507
4 Adams, IN                              7.822 1.216 15.772  2.470
5 Aiken, SC                              6.451 1.032 18.474 19.201
6 Alachua, FL                            8.240 1.052 17.505  3.862
> str(xy)
'data.frame':   845 obs. of  5 variables:
 $ V1: Factor w/ 845 levels "Acadia, LA                            ",..: 1 2 3 4 5 6 7 8 9 10 ...
 $ V2: num  3.67 9.25 7.49 7.82 6.45 ...
 $ V3: num  0.882 1.152 0.911 1.216 1.032 ...
 $ V4: num  12.4 21.4 16.7 15.8 18.5 ...
 $ V5: num  3.87 3.86 3.51 2.47 19.2 ...
xy头(xy)
V1 V2 V3 V4 V5
1阿卡迪亚,洛杉矶3.672 0.882 12.364 3.872
2 Ada,识别号9.251 1.152 21.384 3.861
3美国科罗拉多州亚当斯7.489 0.911 16.718 3.507
4亚当斯,在7.822 1.216 15.772 2.470
5艾肯,SC 6.451 1.032 18.474 19.201
6阿拉丘亚,佛罗里达州8.240 1.052 17.505 3.862
>str(xy)
“数据帧”:845 obs。共有5个变量:
$V1:系数w/845水平“阿卡迪亚,洛杉矶”…:1 2 3 4 5 6 7 8 9 10。。。
$V2:num 3.679.257.497.826.45。。。
$V3:num 0.882 1.152 0.911 1.216 1.032。。。
$V4:num 12.421.416.715.818.5。。。
$V5:num 3.873.863.512.4719.2。。。

这篇文章就是你要找的东西这篇文章就是你要找的东西我想第一列应该是37,否则当第二个变量>=10时,你就取第一个数字。另外,
strip.white=TRUE
是一个可以在输入阶段使用的参数-
read.fwf(“http://www.stat.ufl.edu/~winner/data/retail92.dat“,widths=c(37,6,8,8,8),strip.white=TRUE)
指定数据集格式,即36,8,8,8,8,如果从readr软件包中使用
read_fwf
read_empty
read\u empty
将自动计算出每列的起始和结束位置,您无需自己尝试计算:
mydata@thelatemail请随意编辑我的答案。我认为第一列的数字应该是37,否则当第二个变量>=10时,您将取第一位数字。另外,
strip.white=TRUE
是一个可以在输入阶段使用的参数-
read.fwf(“http://www.stat.ufl.edu/~winner/data/retail92.dat“,widths=c(37,6,8,8,8),strip.white=TRUE)
指定数据集格式,即36,8,8,8,8,如果从readr软件包中使用
read_fwf
read_empty
read_empty
将自动计算出每列的起始位置和结束位置,您无需自己计算:
mydata@thelatemail请随意编辑我的答案。