2017-05-20 55 views
0

我有一个为我的模型输入文件。但我有一些缺失的字符。我想在自己的位置插入这些字符模型可以读取它 同级车我检查是在文件的特定位置插入字符

file. class("outfile.txt") 
[1] "character 

所以从我的代码不同的代码后,该文件是

HYDRUS_Version=5 
WaterFlow=0 
SoluteTransport=0 
Unsatchem=0 
Unsatchem=0 
HP1=0 
HeatTransport=0 
EquilibriumAdsorption=0 
MobileImmobile=0 
RootWaterUptake=0 
RootGrowth=0 
MaterialNumbers=0 
SubregionNumbers=0 
SpaceUnit=cm 
TimeUnit=days 
PrintTimes=160 
NumberOfSolutes=0 
InitialCondition=1 
NumberOfNodes=101 
ProfileDepth=120 
ObservationNodes=160 
GridVisible=160 
SnapToGrid=160 
ProfileWidth=160 
LeftMargin=160 
GridOrgX=160 
GridOrgY=160 
GridDX=160 
GridDY=160 

和我需要的文件[我想在其中插入4个字符,两个;[Main]都在开头,两个;[Profile]都在文件内。我想要下面给出的最终文件。

;       
[Main]      ` 
HYDRUS_Version=5 
WaterFlow=0 
SoluteTransport=0 
Unsatchem=0 
Unsatchem=0 
HP1=0 
HeatTransport=0 
EquilibriumAdsorption=0 
MobileImmobile=0 
RootWaterUptake=0 
RootGrowth=0 
MaterialNumbers=0 
SubregionNumbers=0 
SpaceUnit=cm 
TimeUnit=days 
PrintTimes=160 
NumberOfSolutes=0 
InitialCondition=1 
;         
[Profile]       
NumberOfNodes=101 
ProfileDepth=120 
ObservationNodes=160 
GridVisible=160 
SnapToGrid=160 
ProfileWidth=160 
LeftMargin=160 
GridOrgX=160 
GridOrgY=160 
GridDX=160 
GridDY=160 

回答

0

你可以试试: imported_text < - readlines方法( “outfile.txt”)

 [1] "HYDRUS_Version=5"  "WaterFlow=0"    "SoluteTransport=0"  "Unsatchem=0"    "Unsatchem=0"    "HP1=0"     
    [7] "HeatTransport=0"   "EquilibriumAdsorption=0" "MobileImmobile=0"  "RootWaterUptake=0"  "RootGrowth=0"   "MaterialNumbers=0"  
[13] "SubregionNumbers=0"  "SpaceUnit=cm"   "TimeUnit=days"   "PrintTimes=160"   "NumberOfSolutes=0"  "InitialCondition=1"  
[19] "NumberOfNodes=101"  "ProfileDepth=120"  "ObservationNodes=160" "GridVisible=160"   "SnapToGrid=160"   "ProfileWidth=160"  
[25] "LeftMargin=160"   "GridOrgX=160"   "GridOrgY=160"   "GridDX=160"    "GridDY=160"    

,并尝试c功能:

imported_text2 <- c(";       `here I want this`","[Main]      `here I want this`",imported_text) 

此外,你可以这样做:选择

final_text <- c(imported_text2[1:20],";        `here I want this`","[Profile]      `here I want this`",imported_text2[21:length(imported_text2)]) 

[1] ";       `here I want this`"  "[Main]      `here I want this`"  "HYDRUS_Version=5"         
[4] "WaterFlow=0"           "SoluteTransport=0"         "Unsatchem=0"           
[7] "Unsatchem=0"           "HP1=0"            "HeatTransport=0"          
[10] "EquilibriumAdsorption=0"        "MobileImmobile=0"         "RootWaterUptake=0"         
[13] "RootGrowth=0"          "MaterialNumbers=0"         "SubregionNumbers=0"         
[16] "SpaceUnit=cm"          "TimeUnit=days"          "PrintTimes=160"          
[19] "NumberOfSolutes=0"         "InitialCondition=1"         ";        `here I want this`" 
[22] "[Profile]      `here I want this`" "NumberOfNodes=101"         "ProfileDepth=120"         
[25] "ObservationNodes=160"        "GridVisible=160"          "SnapToGrid=160"          
[28] "ProfileWidth=160"         "LeftMargin=160"          "GridOrgX=160"          
[31] "GridOrgY=160"          "GridDX=160"           "GridDY=160" 

EDIT

为了具有新的输出(根据OP请求):

c(";","[Main]",text[1:18],";","[Profile]",text[19:length(text)]) 
+0

感谢。我改进了这个问题。但是我根据自己的选择做了。如果你会改善它。这将会非常棒。 –

相关问题