在 R 中创建大型数据框
本文将解释在 R 中创建大型数据框的几种方法。
在 R 中使用向量和因子创建数据框
数据框是 R 语言最强大的内置数据结构,它类似于表格矩阵,其中每一列的长度相同,并且它们必须有名称。但是,在下面,它具有更多类似列表
的功能,因为数据框的每一列都被视为列表
数据结构的一个元素。从好的方面来说,我们可以使用向量和因子的混合构造一个数据框,如下面的代码片段所示。我们使用 data.frame
函数从向量和因子构建一个数据框对象。
v1 <- c(1.1, 1.2, 1.3, 2.1, 2.2, 2.3)
v2 <- c(11, 12, 13, 21, 22, 23)
v3 <- c(1, 2, 3, 1, 2, 3)
wday <- factor(c("Wed", "Thu", "Mon", "Wed", "Thu", "Fri"))
df2 <- data.frame(v1, v2, v3, wday)
输出:
v1 v2 v3 wday
1 1.1 11 1 Wed
2 1.2 12 2 Thu
3 1.3 13 3 Mon
4 2.1 21 1 Wed
5 2.2 22 2 Thu
6 2.3 23 3 Fri
在 R 中使用 List 创建数据框
或者,可以使用列表对象创建数据框对象。虽然,此方法需要一个名为 as.data.frame
的不同函数,它将单个列表对象转换为数据框。请注意,我们在下面的示例中使用 list
函数构造列表对象,并将调用作为 as.data.frame
的参数链接。由于数据框必须具有列标签,因此如果用户未指定它们,通常会自动选择它们。如果在转换过程中选择了不需要的名称,则始终可以调用 colnames
函数并为其分配一个列名称向量。
v1 <- c(1.1, 1.2, 1.3, 2.1, 2.2, 2.3)
v2 <- c(11, 12, 13, 21, 22, 23)
v3 <- c(1, 2, 3, 1, 2, 3)
wday <- factor(c("Wed", "Thu", "Mon", "Wed", "Thu", "Fri"))
df1 <- as.data.frame(list(v1, v2, v3, wday))
colnames(df1) <- c("v1", "v2", "v3", "wday")
df1
输出:
v1 v2 v3 wday
1 1.1 11 1 Wed
2 1.2 12 2 Thu
3 1.3 13 3 Mon
4 2.1 21 1 Wed
5 2.2 22 2 Thu
6 2.3 23 3 Fri
在 R 中使用矩阵创建数据框
有时,需要大量的数据帧分配,用向量或列表进行初始化是不切实际的。幸运的是,matrix
函数提供了一种通过指定行/列号来构建大型数据框的简单快捷的方法。或者,可以使用作为第一个参数传递的向量来初始化数据帧中的值。否则,元素将具有 NA
值。
m1 <- matrix(1:1000, ncol = 10, nrow = 100)
df1 <- as.data.frame(m1)
df1
输出:
V1 V2 V3 V4 V5 V6 V7 V8 V9 V10
1 1 101 201 301 401 501 601 701 801 901
2 2 102 202 302 402 502 602 702 802 902
....
相关文章
R 中具有多个条件的函数向量化
发布时间:2023/03/21 浏览次数:64 分类:编程语言
-
一项常见的数据分析任务是根据同一行的其他列使用一个或多个条件创建或更新数据框列。 如果我们尝试使用 if 语句来执行此操作,则只会使用第一行来测试条件,并且会根据该行更
在 R 中读取 xlsx 文件
发布时间:2023/03/21 浏览次数:66 分类:编程语言
-
在这篇文章中,你将会了解到两个在 R 中读取 xlsx 文件的最完整和最容易使用的库:readxl 和 openxlsx。