我在回答家庭作业问题时遇到了麻烦。
通过堆叠gm2
创建更大的数据集
n=100
次。也就是说,如果nrg
是数字
gm2
和ncg
行的行数是列数,
较大的数据集应该有100*nrg
行和
ncg
列。
调用堆叠数据集biggm2
。
要创建堆叠数据集,
使用biggm2 <- NULL
初始化并使用
一个for
循环,用于构建biggm2
个图层
一次。使用system.time()
函数计算此代码的时间。
使用system.time()
来计算R的示例
命令,例如,x <- rnorm(100000)
是:
代码:
system.time(
{
x <- rnorm(100000) # Could put multiple lines of R code here
})
我是R的新手,这需要花费太多时间才能找到答案。因此,我在这里提出这个问题。
我正在使用库(gapminder)
要添加,&#39; gm2&#39;是一个数据集:
列year
,lifeExp
,pop
和
gdpPercap
并将此数据集另存为gm2
。
同时将gm2
强制转换为矩阵并另存为gm3
。
这是我读取数据集所做的。这是对的吗?
gm2 <- c(CanUS2$year, CanUS2$lifeExp, CanUS2$pop, CanUS2$gbpPercap)
gm2
gm3 <- matrix(gm2, nrow=24, ncol=4)
gm3
或者这是正确的吗?
gm2 <- subset(CanUS2, select = c("year","lifeExp","pop","gdpPercap"))
但是在这里,由于gm2已经是一个矩阵,所以没有强制转向矩阵的意义。
gm3 <- matrix(gm2v, nrow=24, ncol=4)
gm3
我真的很困惑。 任何建议都会非常感激。
答案 0 :(得分:0)
library(gapminder)
Tidyverse:
library(dplyr)
filter(gapminder, country %in% c("United States", "Canada")) %>%
select(year, lifeExp, pop, gdpPercap) -> tidyverse_can_us
head(tidyverse_can_us)
## # A tibble: 6 × 4
## year lifeExp pop gdpPercap
## <int> <dbl> <int> <dbl>
## 1 1952 68.75 14785584 11367.16
## 2 1957 69.96 17010154 12489.95
## 3 1962 71.30 18985849 13462.49
## 4 1967 72.13 20819767 16076.59
## 5 1972 72.88 22284500 18970.57
## 6 1977 74.21 23796400 22090.88
基地R:
gapminder[with(gapminder, country %in% c("United States", "Canada")),
c("year", "lifeExp", "pop", "gdpPercap")] -> base_r_can_us
head(base_r_can_us)
## # A tibble: 6 × 4
## year lifeExp pop gdpPercap
## <int> <dbl> <int> <dbl>
## 1 1952 68.75 14785584 11367.16
## 2 1957 69.96 17010154 12489.95
## 3 1962 71.30 18985849 13462.49
## 4 1967 72.13 20819767 16076.59
## 5 1972 72.88 22284500 18970.57
## 6 1977 74.21 23796400 22090.88
对于其中任何一个,您丢失了将值与国家/地区联系起来的因子变量。我们也不知道你为什么需要/需要一个矩阵。我假设你正在提取加拿大&amp;来自您的变量名称的美国数据,但您的整个问题大部分都是不连贯的,因此很难知道您拥有哪些数据以及您想要/需要的结果。