我想导入一个txt文件,所以我在R中执行了以下操作:
breast <- read.table("breastdata.txt",header=F)
但是当我检查它的尺寸时,我得到569 1.所以它的行为就像它有一列而有多个。如何在R?
中分隔这些列这就是我的数据的样子:
“诊断”“半径”“纹理”“周长”“区域”“平滑度”“紧凑度”“凹度”“凹点”“对称”“分形维数”
“842302”“M”17.99 10.38 122.8 1001 0.1184 0.2776 0.3001 0.1471 0.2419 0.07871
“842517”“M”20.57 17.77 132.9 1326 0.08474 0.07864 0.0869 0.07017 0.1812 0.05667
答案 0 :(得分:2)
您很可能需要指定适当的分隔符。
使用文本编辑器打开文本文件并识别分隔符(指定每行中下一列的字符),之后您将能够:
*参数是您为函数提供的变量,用于指定其行为方式。在以下示例中,sep =&#34;,&#34;或header = FALSE是参数的例子。
设置参数的手动方式:
#Columns separated by a ","
read.table("breastdata.txt",header=FALSE,
sep=",")
#Columns separated by a ";"
read.table("breastdata.txt",header=FALSE,
sep=";")
或者,您可以使用其中一个自动设置read.table参数的包装函数来减少您的一些工作:
# Common European format: "," as the decimal point, ";" as the column separator;
read.csv2("breastdata.txt",header=FALSE) # Which would be (almost) equal to read.table("breastdata.txt",header=FALSE,sep=",")
# Common US format: "." as the decimal point, "," as the column separator;
read.csv("breastdata.txt",header=FALSE)
这些基本上调用read.table并覆盖默认参数,读取?read.table以查看您可以手动设置的所有参数或查看存在哪些包装。
编辑: 将数据复制到文本文件并指定空间分隔符有效吗?
dt = read.table("test.txt",header=TRUE,sep=" ")
dt
Diagnosis radius texture perimeter area smoothness compactness concavity concave.points symmetry fractal.dimension
842302 M 17.99 10.38 122.8 1001 0.11840 0.27760 0.3001 0.14710 0.2419 0.07871
842517 M 20.57 17.77 132.9 1326 0.08474 0.07864 0.0869 0.07017 0.1812 0.05667
答案 1 :(得分:0)
您可能需要设置dec=","
或dec="."
以便R解析十进制数字,您按原样在数据集上。还可以尝试设置header=TRUE
,看看会发生什么。
示例:
#Decimal separation
read.table("breastdata.txt",header=TRUE,
dec=".")
尝试编辑您的问题,正确构建数据,以便我们清楚地了解它,然后发布您获得的错误,反映所提出的建议等。