将以空格分隔的数据集加载到 R 中,而不删除字符串之间的空格

Loading in a space delimited dataset into R without removing spaces in between strings

提问人:greentea_678 提问时间:10/9/2023 最后编辑:MrFlickgreentea_678 更新时间:10/9/2023 访问量:45

问:

我有一个大的csv文件,其中一行的所有值都在一个单元格中,用空格分隔。此数据是数值和字符串的混合。当我加载数据时,它会将单个变量的字符串拆分为多列。

数据结构示例:

Survey "SiteNo" "CODE" "Species_name" "Length" "Sex" "Age" "Station" "lonitude" "latitude" "Date" "Weight"  
1 "T 19/11" 45 "MMM" "Gadus Morhua" 80 "U" NA "F5" -7.979 50.837 2011-11-14 4   
2 "T 20/14" 20 "MNE" "Homarus Gammarus" 75 "U" "0" 1 -2.501 50.216 2014-10-02 3

其中每行是一行(单个单元格中每行的所有数据)

我需要数据如下所示:

调查 站点编号 Species_name 长度 年龄 朗度 纬度 日期 重量
电话 19/11 45 加杜斯·莫华 80 U 1 F5 键 -7.979 50.837 2011-11-14 4
吨 20/14 20 跨国公司 霍马鲁斯·伽马鲁斯 75 U 0 1 -2.501 50.216 2014-10-02 3

干杯

R CSV Dataset Delimiter Data-Wrangling

评论


答:

1赞 jay.sf 10/9/2023 #1

在 中使用。sep=' 'read.table

r <- read.table('foo.csv', sep=' ')
r
#    Survey SiteNo CODE     Species_name Length Sex Age Station lonitude latitude       Date Weight
# 1 T 19/11     45  MMM     Gadus Morhua     80   U  NA      F5   -7.979   50.837 2011-11-14      4
# 2 T 20/14     20  MNE Homarus Gammarus     75   U   0       1   -2.501   50.216 2014-10-02      3

哪里

str(r)
# 'data.frame': 2 obs. of  12 variables:
#  $ Survey      : chr  "T 19/11" "T 20/14"
#  $ SiteNo      : int  45 20
#  $ CODE        : chr  "MMM" "MNE"
#  $ Species_name: chr  "Gadus Morhua" "Homarus Gammarus"
#  $ Length      : int  80 75
#  $ Sex         : chr  "U" "U"
#  $ Age         : int  NA 0
#  $ Station     : chr  "F5" "1"
#  $ lonitude    : num  -7.98 -2.5
#  $ latitude    : num  50.8 50.2
#  $ Date        : chr  "2011-11-14" "2014-10-02"
#  $ Weight      : num  4 3

.csv 内容

Survey "SiteNo" "CODE" "Species_name" "Length" "Sex" "Age" "Station" "lonitude" "latitude" "Date" "Weight"  
1 "T 19/11" 45 "MMM" "Gadus Morhua" 80 "U" NA "F5" -7.979 50.837 2011-11-14 4   
2 "T 20/14" 20 "MNE" "Homarus Gammarus" 75 "U" "0" 1 -2.501 50.216 2014-10-02 3

评论

0赞 greentea_678 10/9/2023
当我使用read.table时,它有同样的问题,即将单个单元格中每行的所有数据作为单个变量
2赞 jay.sf 10/9/2023
@greentea_678 毫无头绪,我使用了您提供的数据,并且有效。帮助我重现您的问题。