用tidyverse中的上一级填充其他所有行

时间:2018-09-28 15:17:29

标签: r dplyr tidyr

我正在学习R,并且正在和tidry和dplyr碰上一个障碍。

我在R中有一个数据帧,其中第一列是一个系数,每隔一行只有一个电平。我试图弄清楚如何使用tidyverse工具进行填充。

我尝试使用填充和替换,但似乎都不起作用。

td <- data.frame("State" = c("NY", "", "OH", ""), "Your" = c(101:104), "Name" = c(5:8))

td
State    Your    Name
<fctr>   <int>   <int>
NY       101     5      
         102     6      
OH       103     7      
         104     8  

我想得到的是

State    Your    Name
<fctr>   <int>   <int>
NY       101     5      
NY       102     6      
OH       103     7      
OH       104     8  

使用tidyr或dplyr

2 个答案:

答案 0 :(得分:5)

一种选择是将空白("")替换为NAna_if),然后使用fill中的tidyr来填充NA元素。非NA相邻元素

library(tidyverse)
td %>% 
   mutate(State = na_if(State, "")) %>%
   fill(State)
#    State Your Name
#1    NY  101    5
#2    NY  102    6
#3    OH  103    7
#4    OH  104    8

或使用base R

i1 <- td$State != ""
td$State <- with(td, State[i1][cumsum(i1)])

答案 1 :(得分:1)

来自<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"> <channel> <language>en-US</language> <title>Marsden Waagen Blog</title> <description>Marsden Waagen Blog</description> <pubDate>Fri, 28 Sep 2018 10:55:32 +0000</pubDate> <generator> http://fishpig.co.uk/magento/wordpress-integration/?v=4.0.0.39 </generator> <link>https://marsdenweighing.de/index.php/blog/</link> <atom:link rel="self" type="application/atom+xml" href="https://marsdenweighing.de/index.php/blog/feed"/> <item> <title> Sie ist hier. Die Zukunft mit der Patiententransferwaage. </title> <description> <![CDATA[ <p style="text-align: justify"><img class="alignleft wp-image-1022" src="https://www.marsden-weighing.co.uk/WP/german/wp-content/uploads/sites/2/2018/09/Patiententransferwaage.jpg" alt="Patiententransferwaage" width="300" height="180" /></p> <p style="text-align: justify"><strong>Seit Anfang 2016 arbeitet Marsden an einer komplett neuen Waage. Sie ist die Erste ihrer Art und eine revolutionäre Idee, welche die Art und Weise wie immobile Patienten gewogen werden verändern könnte.</strong></p> <p style="text-align: justify"><span style="font-weight: 400">Die Patiententransferwaage ist anders als jede andere Waage und wird im nächsten Monat auf den Markt kommen. Aber was ist es, warum gibt es sie und was bringt sie den Krankenhäusern?</span></p> <p> <a href="https://marsdenweighing.de/index.php/blog/2018/09/11/die-zukunft-mit-der-patiententransferwaage/" class="read-more">Weiterlesen <span class="meta-nav">&rarr;</span></a> ]]> </description> <pubDate>Tue, 11 Sep 2018 23:00:30 +0000</pubDate> <link> https://marsdenweighing.de/index.php/blog/2018/09/11/die-zukunft-mit-der-patiententransferwaage/ </link> <guid> https://marsdenweighing.de/index.php/blog/2018/09/11/die-zukunft-mit-der-patiententransferwaage/ </guid> <author>Stephanie@marsdengroup.co.uk (stephanie)</author> <category> <![CDATA[ https://marsdenweighing.de/index.php/blog/uncategorised/ ]]> </category> <dc:creator>stephanie</dc:creator> </item> <item> <title> Die Bedeutung der Wiegung von Patienten bei der Aufnahme in ein Krankenhaus </title> <description> <![CDATA[ <p style="text-align: justify"><a href="https://www.telegraph.co.uk/news/health/news/9198132/Weigh-all-hospital-patients-as-one-in-four-is-malnourished-charity.html"><span style="font-weight: 400"><img class="size-medium wp-image-1027 alignleft" src="https://www.marsden-weighing.co.uk/WP/german/wp-content/uploads/sites/2/2018/09/Krankenhaus-300x225.jpg" alt="Krankenhaus" width="300" height="225" /><strong>Alle Patienten sollten bei der Aufnahme in ein Krankenhaus gewogen werden.</strong></span></a><strong> Eine genaue Einschätzung kann das Ausmaß des<a href="https://www.marsden-weighing.co.uk/index.php/blog/2017/03/03/download-new-white-paper-accurate-assessment-patient-weight/"> Funktionsverlustes der Organe überwachen, die Wirksamkeit von Medikamenten einschätzen und die Berechnung von medizinischen Dosierungen ermöglichen.</a></strong></p> <p style="text-align: justify"><span style="font-weight: 400">In vielen Fällen ist es jedoch nicht einfach, einen Patienten bei der Aufnahme ins Krankenhaus zu wiegen.</span></p> <p> <a href="https://marsdenweighing.de/index.php/blog/2018/09/05/wiegung-von-patienten-bei-der-aufnahme-in-ein-krankenhaus/" class="read-more">Weiterlesen <span class="meta-nav">&rarr;</span></a> ]]> </description> <pubDate>Wed, 05 Sep 2018 23:00:32 +0000</pubDate> <link> https://marsdenweighing.de/index.php/blog/2018/09/05/wiegung-von-patienten-bei-der-aufnahme-in-ein-krankenhaus/ </link> <guid> https://marsdenweighing.de/index.php/blog/2018/09/05/wiegung-von-patienten-bei-der-aufnahme-in-ein-krankenhaus/ </guid> <author>Stephanie@marsdengroup.co.uk (stephanie)</author> <category> <![CDATA[ https://marsdenweighing.de/index.php/blog/uncategorised/ ]]> </category> <dc:creator>stephanie</dc:creator> </item> <item> <title>Produkt Highlight M-210 Stuhlwaage</title> <description> <![CDATA[ <p style="text-align: justify"><strong><img class="alignleft wp-image-330" src="http://www.marsden-weighing.co.uk/WP/german/wp-content/uploads/sites/2/2016/10/Unbenannt-40.png" alt="M-210" width="300" height="260" />Heute möchten wir Ihnen unseren beliebteste britische Stuhlwaage vorstellen - die M-210. </strong>Sie ist in Großbritannien der Verkaufsschlager unter den Stuhlwaagen und natürlich zu Recht. Doch auch hier stellen sich die Fragen:</p> <p style="text-align: justify"><strong>Wer kauft sie?... und vor allem - Wieso?</strong></p> <p style="text-align: justify"> <a href="https://marsdenweighing.de/index.php/blog/2018/08/28/produkt-highlight-m-210/" class="read-more">Weiterlesen <span class="meta-nav">&rarr;</span></a> ]]> </description> <pubDate>Tue, 28 Aug 2018 23:00:16 +0000</pubDate> <link> https://marsdenweighing.de/index.php/blog/2018/08/28/produkt-highlight-m-210/ </link> <guid> https://marsdenweighing.de/index.php/blog/2018/08/28/produkt-highlight-m-210/ </guid> <author>admin@marsden-weighing.co.uk (Marsden)</author> <category> <![CDATA[ https://marsdenweighing.de/index.php/blog/medizinischer-blog-post/ ]]> </category> <dc:creator>Marsden</dc:creator> </item> <item> <title> Bewährte Praktiken: Wie man ein Kind mit Behinderung wiegt </title> <description> <![CDATA[ <p style="text-align: justify"><b><img class="alignleft wp-image-1016" src="https://www.marsden-weighing.co.uk/WP/german/wp-content/uploads/sites/2/2018/08/Wheelchair.jpg" alt="Kind mit Behinderung" width="300" height="200" />Adipositas bei Kindern wird als eines der größten Gesundheitsprobleme des 21. Jahrhunderts" bezeichnet - Marsden berichtete Anfang des Jahres, inwiefern </b><a href="https://marsdenweighing.de/index.php/blog/2018/04/12/949/"><b>Großeltern zum Übergewicht der Kinder beitragen</b></a><b>. </b></p> <p style="text-align: justify"><span style="font-weight: 400">Ein Kind mit Behinderung ist besonders gefährdet. Schätzungen gehen davon aus, dass ein solches Kind zwei- bis dreimal häufiger übergewichtig oder fettleibig ist als seine sich typischerweise entwickelnden Altersgenossen.</span></p> <p> <a href="https://marsdenweighing.de/index.php/blog/2018/08/20/bewahrte-praktiken-wie-man-ein-kind-mit-behinderung-wiegt/" class="read-more">Weiterlesen <span class="meta-nav">&rarr;</span></a> ]]> </description> <pubDate>Mon, 20 Aug 2018 17:37:55 +0000</pubDate> <link> https://marsdenweighing.de/index.php/blog/2018/08/20/bewahrte-praktiken-wie-man-ein-kind-mit-behinderung-wiegt/ </link> <guid> https://marsdenweighing.de/index.php/blog/2018/08/20/bewahrte-praktiken-wie-man-ein-kind-mit-behinderung-wiegt/ </guid> <author>Stephanie@marsdengroup.co.uk (stephanie)</author> <category> <![CDATA[ https://marsdenweighing.de/index.php/blog/medizinischer-blog-post/ ]]> </category> <dc:creator>stephanie</dc:creator> </item> <item> <title>Produkt Highlight M-425 Flachwaage</title> <description> <![CDATA[ <p style="text-align: justify"><strong><img class="size-medium wp-image-1009 alignleft" src="https://www.marsden-weighing.co.uk/WP/german/wp-content/uploads/sites/2/2018/07/Marsden-M-425-300x300.jpg" alt="M-425" width="300" height="300" />In diesem Blog Post steht unsere tragbare Marsden Flachwaage M-425 im Fokus. Sie erfahren, was genau diese Waage ausmacht, welche Funktionen sie besitzt und natürlich auch, wie sie mit uns in Kontakt treten können um eine zu erwerben.</strong></p> <p style="text-align: justify"><span style="font-weight: 400">Bei den heutigen Ansprüchen in medizinischen Einrichtungen benötigen Sie qualitativ hochwertige und vor allem zuverlässige Waagen. Durch Eichklasse III und die Zulassung nach dem Medizinproduktegesetz erlaubt den einfachen und legalen Einsatz der Waage in medizinischen Einrichtungen. </span></p> <p> <a href="https://marsdenweighing.de/index.php/blog/2018/07/24/produkt-highlight-m-425-flachwaage/" class="read-more">Weiterlesen <span class="meta-nav">&rarr;</span></a> ]]> </description> <pubDate>Tue, 24 Jul 2018 23:00:36 +0000</pubDate> <link> https://marsdenweighing.de/index.php/blog/2018/07/24/produkt-highlight-m-425-flachwaage/ </link> <guid> https://marsdenweighing.de/index.php/blog/2018/07/24/produkt-highlight-m-425-flachwaage/ </guid> <author>Stephanie@marsdengroup.co.uk (stephanie)</author> <category> <![CDATA[ https://marsdenweighing.de/index.php/blog/firmenspezifischer-blog-post/ ]]> </category> <dc:creator>stephanie</dc:creator> </item> </channel> </rss> 的解决方案

zoo