问题是需要将单行数据格式化为具有适当列的R data.frame以将行数据存储为列数据。原始数据格式是一个文本文件,有2行标题,N行数据。数据在单个列中。需要将其格式化为单独的列。基本上,如何将文本从每一列到另一列拆分为一个新的Data.Frame?
输入示例:
例如,输入包含两行,它们由组合的1)头名,2)子头名,以及N个包含一列所有数据的行组成,例如,RD,I,01,027,000,881,01,1,7,105,120,199,90103,00:00...
RD Action.Code State.Code County.Code Site.ID Parameter POC Sample.Duration Unit
1 RC Action Code State Code County Code Site ID Parameter POC Unit Method
2 RD I 01 027 0001 88101 1 7 105
3 RD I 01 027 0001 88101 1 7 105
4 RD I 01 027 0001 88101 1 7 105
5 RD I 01 027 0001 88101 1 7 105
6 RD I 01 027 0001 88101 1 7 105
Method Date Start.Time Sample.Value Null.Data.Code
1 Year Period Number of Samples Composite Type Sample Value
2 120 19990103 00:00 AS
3 120 19990106 00:00 AS
4 120 19990109 00:00 AS
5 120 19990112 00:00 8.841
6 120 19990115 00:00 14.92
Sampling.Frequency Monitor.Protocol..MP..ID Qualifier...1 Qualifier...2
1 Monitor Protocol (MP) ID Qualifier - 1 Qualifier - 2 Qualifier - 3
2 3
3 3
4 3
5 3
6 3
Qualifier...3 Qualifier...4 Qualifier...5 Qualifier...6 Qualifier...7
1 Qualifier - 4 Qualifier - 5 Qualifier - 6 Qualifier - 7 Qualifier - 8
2
3
4
5
6
Qualifier...8 Qualifier...9 Qualifier...10
1 Qualifier - 9 Qualifier - 10 Alternate Method Detectable Limit
2
3
4
5
6
Alternate.Method.Detectable.Limit Uncertainty year
1 Uncertainty NA 1999
2 NA 1999
3 NA 1999
4 NA 1999
5 NA 1999
6 NA 1999
>
> dput(pm_1999[1:20])
c(X..RD = "# RD,Action Code,State Code,County Code,Site ID,Parameter,POC,Sample Duration,Unit,Method,Date,Start Time,Sample Value,Null Data Code,Sampling Frequency,Monitor Protocol (MP) ID,Qualifier - 1,Qualifier - 2,Qualifier - 3,Qualifier - 4,Qualifier - 5,Qualifier - 6,Qualifier - 7,Qualifier - 8,Qualifier - 9,Qualifier - 10,Alternate Method Detectable Limit,Uncertainty",
Action.Code = "# RC,Action Code,State Code,County Code,Site ID,Parameter,POC,Unit,Method,Year,Period,Number of Samples,Composite Type,Sample Value,Monitor Protocol (MP) ID,Qualifier - 1,Qualifier - 2,Qualifier - 3,Qualifier - 4,Qualifier - 5,Qualifier - 6,Qualifier - 7,Qualifier - 8,Qualifier - 9,Qualifier - 10,Alternate Method Detectable Limit,Uncertainty",
State.Code = "RD,I,01,027,0001,88101,1,7,105,120,19990103,00:00,,AS,3,,,,,,,,,,,,,",
County.Code = "RD,I,01,027,0001,88101,1,7,105,120,19990106,00:00,,AS,3,,,,,,,,,,,,,",
Site.ID = "RD,I,01,027,0001,88101,1,7,105,120,19990109,00:00,,AS,3,,,,,,,,,,,,,",
Parameter = "RD,I,01,027,0001,88101,1,7,105,120,19990112,00:00,8.841,,3,,,,,,,,,,,,,",
POC = "RD,I,01,027,0001,88101,1,7,105,120,19990115,00:00,14.92,,3,,,,,,,,,,,,,",
Sample.Duration = "RD,I,01,027,0001,88101,1,7,105,120,19990118,00:00,3.878,,3,,,,,,,,,,,,,",
Unit = "RD,I,01,027,0001,88101,1,7,105,120,19990121,00:00,9.042,,3,,,,,,,,,,,,,",
Method = "RD,I,01,027,0001,88101,1,7,105,120,19990124,00:00,5.464,,3,,,,,,,,,,,,,",
Date = "RD,I,01,027,0001,88101,1,7,105,120,19990127,00:00,20.17,,3,,,,,,,,,,,,,",
Start.Time = "RD,I,01,027,0001,88101,1,7,105,120,19990130,00:00,11.56,,3,,,,,,,,,,,,,",
Sample.Value = "RD,I,01,027,0001,88101,1,7,105,120,19990202,00:00,13.68,,3,,,,,,,,,,,,,",
Null.Data.Code = "RD,I,01,027,0001,88101,1,7,105,120,19990205,00:00,7.251,,3,,,,,,,,,,,,,",
Sampling.Frequency = "RD,I,01,027,0001,88101,1,7,105,120,19990208,00:00,11.47,,3,,,,,,,,,,,,,",
Monitor.Protocol..MP..ID = "RD,I,01,027,0001,88101,1,7,105,120,19990211,00:00,13.46,,3,,,,,,,,,,,,,",
Qualifier...1 = "RD,I,01,027,0001,88101,1,7,105,120,19990214,00:00,46.20,,3,,,,,,,,,,,,,",
Qualifier...2 = "RD,I,01,027,0001,88101,1,7,105,120,19990217,00:00,11.25,,3,,,,,,,,,,,,,",
Qualifier...3 = "RD,I,01,027,0001,88101,1,7,105,120,19990220,00:00,,AN,3,,,,,,,,,,,,,",
Qualifier...4 = "RD,I,01,027,0001,88101,1,7,105,120,19990223,00:00,,AN,3,,,,,,,,,,,,,"
)
>
从R Studio环境中查看此资源,如下图所示。
用逗号和rbind
将字符串拆分为行。我们可以从第一行分配标题,并从DataFrame中删除该行。
#Split the data on comma and create a list
df <- do.call(rbind.data.frame, strsplit(pm_1999, ','))
#Assign headers from 1st row of the data
names(df) <- df[1, ]
#Remove the 1st row from the data
df <- df[-1, ]
最近我一直在写插件,然后使用ServiceLoader加载。为了让ServiceLoader找到我的插件,必须在META-INF/services/下的jar中包含一个文本文件。文本文件必须以ServiceLoader正在“寻找”的接口命名,并且必须包含实现类的规范名称。所有这些都工作得非常好,但是这种方法有一个非常烦人的问题:每次构建项目时,我都必须手动将 /services/文件夹以及文本文件
我发现这个包只包含了3个主要的。java类中的一部分,其余的已经预编译在。class文件中了。当我试图编译它时,IntelliJ IDEA说它找不到定义,尽管它们显然在那里。我该怎么办? 编辑,因为它是我有2个问题。 1)在Main.java类中,IDE在例如时喊“不能解析符号”。 2)试图编译它时会说“java:不能找到符号” 好的。搜索了论坛后,我尝试将。class文件放在一个diferren
我有一个充满json对象的表。只有一列“数据”。 我想将这个表转换成一个包含json对象中所有键的多列的表。 例如, 现在我的桌子是这样的: 但我希望它是这样的: 我不想以这种方式查询它,我想以我上面展示的格式完全创建一个新表。 我可以试试跑步: 但由于我的json对象有数百列,这可能效率低下。有没有更有效的方法?感谢您的帮助或建议。
路径必须在生成的上下文中;您不能添加../something/something,因为docker构建的第一步是将上下文目录(和子目录)发送到docker守护进程。 我不想重组我的整个项目只是为了在这件事上容纳Docker。我想把我所有的Docker文件都保存在同一个子目录中。 此外,Docker似乎还不支持(可能永远也不支持)符号链接:Dockerfile ADD命令不跟随主机#1676上的符号
问题内容: 如何使用Docker文件中的“ ADD”命令从Docker构建上下文之外包含文件? 从Docker文档中: 路径必须在构建上下文内;您不能添加../something/something,因为Docker构建的第一步是将上下文目录(和子目录)发送到docker守护程序。 我不想为了适应Docker而重组我的整个项目。我想将所有Docker文件保留在同一子目录中。 此外,似乎Docker
我目前正在考虑将一个我开始用react-native开发的应用移植到CodenameOne。为此,我仍然在检查它的可行性和工作量(因为我必须将一些本机库绑定从react-native移植或开发到codenameone,因为codenameone忽略了我的一些需求,比如Socket.io支持)。免费的codenameone构建云服务仅限于1MB的应用程序,我必须在本地进行测试构建(只有几个测试类和使