gpt4 book ai didi

r - 使用某些行作为分组新列中的值(从 excel 导入的数据)

转载 作者:行者123 更新时间:2023-12-04 22:19:33 25 4
gpt4 key购买 nike

我有关于德国 PM10 浓度的数据。可在此 [链接] (https://www.umweltbundesamt.de/sites/default/files/medien/4640/dokumente/pm10_2019_0.xlsx) 下载
在 excel 中,它或多或少看起来像这样:
enter image description here
这里的问题是,对于 16 个州中的每一个州,都有“连接”一行,直到下一行,都有单独的站点测量 PM10 浓度。我现在想做的是为每个状态创建一个新列,每个状态都将状态名称分配给每个测量值。
老实说,我不知道如何在 R 中做到这一点。我想在伪代码中可能会有一些解决方法,比如

state = None
for each row:
if (NA in Statiocode):
state = Name
else:
new_col = state
这看起来像是某种正确的方法吗?

最佳答案

很简单,这段代码就可以了

library(readxl)
data <- read_excel("pm10_2019_0.xlsx", skip = 46)

library(tidyverse)

data <- data %>% mutate(State = ifelse(is.na(Stationscode), `Name / Messnetz`, NA)) %>%
fill(State) %>% filter(!is.na(Stationscode)) %>% select(State, everything())

data
# A tibble: 376 x 7
State Stationscode `Name / Messnetz` Stationsumgebung `Art der Station` `Jahresmittelwert \~ `Zahl der Tageswerte ~
<chr> <chr> <chr> <chr> <chr> <dbl> <dbl>
1 Baden-Wü~ DEBW029 Aalen vorstädtisches Ge~ Hintergrund 14 0
2 Baden-Wü~ DEBW076 Baden-Baden vorstädtisches Ge~ Hintergrund 12 0
3 Baden-Wü~ DEBW042 Bernhausen vorstädtisches Ge~ Hintergrund 16 2
4 Baden-Wü~ DEBW046 Biberach vorstädtisches Ge~ Hintergrund 14 0
5 Baden-Wü~ DEBW004 Eggenstein ländlich stadtnah Hintergrund 15 0
6 Baden-Wü~ DEBW220 Esslingen Grabbrunn~ städtisches Gebiet Verkehr 23 16
7 Baden-Wü~ DEBW084 Freiburg städtisches Gebiet Hintergrund 13 2
8 Baden-Wü~ DEBW122 Freiburg Schwarzwal~ städtisches Gebiet Verkehr 15 3
9 Baden-Wü~ DEBW038 Friedrichshafen städtisches Gebiet Hintergrund 14 1
10 Baden-Wü~ DEBW112 Gärtringen vorstädtisches Ge~ Hintergrund 13 1
# ... with 366 more rows

关于r - 使用某些行作为分组新列中的值(从 excel 导入的数据),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65439153/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com