Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 如何读取缩进数据?_R_Data.table - Fatal编程技术网

R 如何读取缩进数据?

R 如何读取缩进数据?,r,data.table,R,Data.table,我有一个选项卡分隔的文件,如下所示: ID trait1 trait2 trait3 1111 1 1 0 2222 1 0 0 3333 0 0 1 4444 0 1 0 df V1 1111 1 1 0 1 NA 2222 1 0 0 2 NA 3333 0 0 1 3 NA 4444 0 1 0 请注意,数据行相对于列标题缩进 我尝试使用此语法读取文件并保留列名: df <- fre

我有一个选项卡分隔的文件,如下所示:

ID  trait1  trait2  trait3
    1111    1   1   0
    2222    1   0   0
    3333    0   0   1
    4444    0   1   0
df
  V1 1111 1 1 0
1 NA 2222 1 0 0
2 NA 3333 0 0 1
3 NA 4444 0 1 0
请注意,数据行相对于列标题缩进

我尝试使用此语法读取文件并保留列名:

df <- fread("/path/to/file", sep="\t", data.table=FALSE, header=TRUE)

我尝试了
strip.white=TRUE
,但没有效果

fread
read.table
工作;额外的空白(缩进)不会引起任何问题

fread

library(data.table)
dt <- fread("ID  trait1  trait2  trait3
1111    1   1   0
2222    1   0   0
3333    0   0   1
4444    0   1   0")
dt
#     ID trait1 trait2 trait3
#1: 1111      1      1      0
#2: 2222      1      0      0
#3: 3333      0      0      1
#4: 4444      0      1      0
df <- read.table(text =

    "ID  trait1  trait2  trait3
    1111    1   1   0
    2222    1   0   0
    3333    0   0   1
    4444    0   1   0", header = T)
df
#    ID trait1 trait2 trait3
#1 1111      1      1      0
#2 2222      1      0      0
#3 3333      0      0      1
#4 4444      0      1      0

readr
中的
read_表2
也可以工作

readr::read_表2(
“ID trait1 trait2 trait3
1111    1   1   0
2222    1   0   0
3333    0   0   1
4444    0   1   0
"
)
#>#tibble:4 x 4
#>ID trait1 trait2 trait3
#>         
#> 1  1111      1      1      0
#> 2  2222      1      0      0
#> 3  3333      0      0      1
#> 4  4444      0      1      0

由(v0.3.0)于2019-09-17创建。

标题中有4列,但数据有5列;打字错误?@maurits抱歉,我纠正了我的错误。如果你不介意警告的话,你可以添加
,删除=1。这应该有一个GH问题,如果没有,我可以将文本中的问题复制为:
“ID\ttrait1\ttrait2\ttrait3\n\t1111\t1\t1\t0\n\t2222\t1\t0\t0\n\t333\t0\t0\t1\n\t444\t0\t1\t0”
@thelatemail
read.表
似乎与您给出的字符串没有任何问题。只有fread投诉。谢谢您的帮助
read.table
适合我,但
fread
不适合我。@TJ87是的,我可以用LateMail的示例字符串确认。我不知道为什么。我找到一家几年前就关门了的商店。