r - name the list after looping in R
问题描述
the for loop below create a different dataset, using for loop. I would like to change the name of [[i]]
to its vector value which is the name of the i
th country. Many thanks in advance.
library(gapminder)
cont <- unique(gapminder$continent)
df <- NULL
for(i in 1:(length(cont))) {
temp <- gapminder[gapminder$continent == cont[i], ]
colnames(temp) <- paste0(paste(cont[i]))
df[[i]] <- temp
}
df
Expected Answer
[[5]] -> I would like to see here Oceania
# A tibble: 24 x 6
Oceania `` `` `` `` ``
<fct> <fct> <int> <dbl> <int> <dbl>
1 Australia Oceania 1952 69.1 8691212 10040.
2 Australia Oceania 1957 70.3 9712569 10950.
3 Australia Oceania 1962 70.9 10794968 12217.
4 Australia Oceania 1967 71.1 11872264 14526.
5 Australia Oceania 1972 71.9 13177000 16789.
6 Australia Oceania 1977 73.5 14074100 18334.
7 Australia Oceania 1982 74.7 15184200 19477.
8 Australia Oceania 1987 76.3 16257249 21889.
9 Australia Oceania 1992 77.6 17481977 23425.
10 Australia Oceania 1997 78.8 18565243 26998.
# ... with 14 more rows
解决方案
而是使用split
.
res <- split(gapminder, gapminder$continent)
names(res)
# [1] "Africa" "Americas" "Asia" "Europe" "Oceania"
res$Africa
# # A tibble: 624 × 6
# country continent year lifeExp pop gdpPercap
# <fct> <fct> <int> <dbl> <int> <dbl>
# 1 Algeria Africa 1952 43.1 9279525 2449.
# 2 Algeria Africa 1957 45.7 10270856 3014.
# 3 Algeria Africa 1962 48.3 11000948 2551.
# 4 Algeria Africa 1967 51.4 12760499 3247.
# 5 Algeria Africa 1972 54.5 14760787 4183.
# 6 Algeria Africa 1977 58.0 17152804 4910.
# 7 Algeria Africa 1982 61.4 20033753 5745.
# 8 Algeria Africa 1987 65.8 23254956 5681.
# 9 Algeria Africa 1992 67.7 26298373 5023.
# 10 Algeria Africa 1997 69.2 29072015 4797.
# # … with 614 more rows
推荐阅读
- python - from kivy.core.window._window_sdl2 import _WindowSDL2Storage [CRITICAL] [App] 无法获取窗口,中止
- selenium - 通过 Selenium 脚本单击网页上的链接元素时出错
- python - 使用 :-1 和 None 切片 - 每个语句的含义是什么?
- c++ - 尝试反转链表时显示分段错误
- c# - 脚手架现有数据库时 ASP.NET Core 3.0 错误“无法转换类型的对象”
- java - Java Client-Server 应用程序抛出“java.net.SocketException: Connection reset”异常
- php - header("位置:".$_SERVER['HTTP_REFERER']); 移动到服务器时停止工作
- python - Matplotlib:更新 quiver() 中的位置和速度
- javascript - 获取请求响应不可访问
- cytoscape.js - cytoscape js多行标签-第二行的不同css规则