Как добавить строку на одну строку раньше предыдущего текста? - PullRequest
0 голосов
/ 03 октября 2019

Мои данные имеют заголовок "z", как показано ниже:

"       30.6716995239         0.0000000000         0.0000000000"
"       -6.3899497986        11.0677177090         0.0000000000"
"        0.0000000000         0.0000000000        34.1739006042"                                    
"Direct"  

Теперь я хочу добавить строку "System" непосредственно перед строкой "Direct", как показано ниже:

"       30.6716995239         0.0000000000         0.0000000000"
"       -6.3899497986        11.0677177090         0.0000000000"
"        0.0000000000         0.0000000000        34.1739006042"                                    
"System"
"Direct"  

Я могу добавить строку «Система» ниже к «Прямой», используя следующее. Но я не могу добавить его до строки "Direct"

cat (z, sep = "\ n", file = tmp) # sep = "\ n"

cat ('System \ n', file = tmp, append = T)

Любое предложение, пожалуйста.

1 Ответ

0 голосов
/ 03 октября 2019

Вы можете использовать sub для замены Direct на System\nDirect, что поместит System перед Direct.

cat(sub("Direct", "System\nDirect", z), sep="\n",file = tmp)

Или используйте подмножество, например:

cat(c(z[1:3], "System", z[-(1:3)]), sep="\n",file = tmp)\

Данные:

z  <- c("       30.6716995239         0.0000000000         0.0000000000"
,"       -6.3899497986        11.0677177090         0.0000000000"
,"        0.0000000000         0.0000000000        34.1739006042"
 ,"Direct")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...