小编Muh*_*mil的帖子

对 R 中列表内的列表长度求和

我在 R 的列表中有 2 个列表。每个子列表包含不同数量的数据帧。数据如下:

df1 <- data.frame(x = 1:5, y = letters[1:5])
df2 <- data.frame(x = 1:15, y = letters[1:15])
df3 <- data.frame(x = 1:25, y = letters[1:25])
df4 <- data.frame(x = 1:6, y = letters[1:6])
df5 <- data.frame(x = 1:8, y = letters[1:8])

l1 <- list(df1, df2)
l2 <- list(df3, df4, df5)
mylist <- list(l1, l2)
Run Code Online (Sandbox Code Playgroud)

我想计算我的列表中的数据帧总数(答案应该是 5,因为我总共有 5 个数据帧)。

r list lapply

7
推荐指数
1
解决办法
271
查看次数

从字符串中删除特殊字符和空格

name1 <- "Adam & Eve"
name2 <- "Spartacus"
name3 <- "Fitness and Health"
Run Code Online (Sandbox Code Playgroud)

我想删除所有空格和特殊字符,例如%&,.and名称之间的单词,然后将每个字符串大写,因此名称变为:

name1 <- "ADAMEVE"
name2 <- "SPARTACUS"
name3 <- "FITNESSHEALTH"
Run Code Online (Sandbox Code Playgroud)

regex string r gsub dplyr

2
推荐指数
1
解决办法
102
查看次数

从 R 中的数据帧列表中进行子集化

我有一个数据框列表:

df1 <- data.frame(c(1:5), c(6:10))
df2 <- data.frame(c(1:7))
df3 <- data.frame(c(1:5), c("a", "b", "c", "d", "e"))
my_list <- list(df1, df2, df3)
Run Code Online (Sandbox Code Playgroud)

我想从 my_list 中提取只有 2 列(df1 和 df3)的数据帧,并将它们放入一个新列表中。

r list dataframe tidyverse

2
推荐指数
1
解决办法
122
查看次数

在 R 中拆分为两个类别

n <- 3
strata <- rep(1:4, each=n)
y <- rnorm(n =12)
x <- 1:12
category <- rep(c("A", "B", "C"), times = 4)
df <- cbind.data.frame(y, x, strata, category)
Run Code Online (Sandbox Code Playgroud)

我想首先按“层”将我的数据拆分为一个列表,然后我想再次按“类别”拆分新列表中的所有数据框。最后,我想在每个结果数据框内对 x 上的 y 进行回归(在这种情况下,每个数据框将是一行,但在实际数据中,每个层的长度不同,层内的类别数也不同)。

r dplyr purrr tidyverse

1
推荐指数
2
解决办法
90
查看次数

在 R 中使用多列将宽数据重塑为长数据

我有以下数据:

country <- c("afg", "alb", "aus")
gdp_2018 <- c(123, 532, 555)
gdp_2019 <- c(233, 531, 621)
gdp_2020 <- c(112, 231, 323)
inf_2018 <- c(0.1, 0.2, 0.3)
inf_2019 <- c(0.01, 0.01, 0.2)
inf_2020 <- c(0.5, 0.4, 0.4)
df <- cbind.data.frame(country, gdp_2018, gdp_2019, gdp_2020,
                       inf_2018, inf_2019, inf_2020)
Run Code Online (Sandbox Code Playgroud)

我想将这种宽数据转换为长格式,如下所示:

country <- c("afg","afg","afg", "alb","alb","alb", "aus", "aus", "aus")
year <- c(2018, 2019, 2020, 2018, 2019, 2020, 2018, 2019, 2020)
gdp <- c(123, 532, 555,
  233, 531, 621,112, 231, 323)
inf <- c(0.1, 0.2, 0.3, 0.01, …
Run Code Online (Sandbox Code Playgroud)

r reshape melt panel-data tidyr

0
推荐指数
1
解决办法
63
查看次数

标签 统计

r ×5

dplyr ×2

list ×2

tidyverse ×2

dataframe ×1

gsub ×1

lapply ×1

melt ×1

panel-data ×1

purrr ×1

regex ×1

reshape ×1

string ×1

tidyr ×1