找到 2038 篇文章 适用于 R 编程

如何在 R 数据框中将手动创建的函数应用于两列?

Nizamuddin Siddiqui
更新于 2021 年 3 月 6 日 05:10:12

608 次浏览

假设我们创建了一个可以同时获取两个不同值的函数,那么我们可以使用 mapply 将该函数应用于 R 数据框的两列。例如,如果我们有一个手动创建的函数,例如 func,它可以将两个值相乘,那么我们可以使用以下命令将其应用于名为 df 的数据框,该数据框有两列 x 和 y:mapply(func, df$x, df$y) 手动创建的函数名为 func:func mapply(func, df1$x1, df1$x2)输出[1] 24 35 18 5 56 25 4 48 16 28 30 7 24 30 30 25 12 ... 阅读更多

如何在基础 R 中创建没有 bin 的直方图?

Nizamuddin Siddiqui
更新于 2021 年 3 月 6 日 05:08:49

307 次浏览

我们可以在 plot 函数中将 type 参数设置为 s 以创建没有 bin 的直方图,但首先我们需要创建直方图并将其存储在对象中。例如,如果我们有一个向量 x,则 x 的直方图可以存储在名为 p 的对象中,然后我们可以使用命令 plot(c(p$counts,0),type="s") 创建没有 bin 的直方图,如下例所示。示例> x p plot(c(p$counts,0),type="s")输出

如何在 R 中使用 ggplot2 通过均值更改箱线图的顺序?

Nizamuddin Siddiqui
更新于 2021 年 3 月 6 日 05:08:18

745 次浏览

要使用 ggplot2 通过均值更改箱线图的顺序,我们可以在 ggplot 的 aes 中使用 reorder 函数。例如,如果我们有一个名为 df 的数据框,其中包含两列,例如 x(分类)和 y(计数),则可以通过使用命令 ggplot(df, aes(x=reorder(x, y, mean), y))+geom_boxplot() 创建按均值排序的箱线图示例考虑以下数据框:实时演示> x y df df输出   x  y 1  A 22 2  A 17 3  A 20 4  A 36 5  A 34 6  A 25 7  A 25 8  A 30 9  A 23 10 A 29 11 B ... 阅读更多

如何在 R 中将矩阵列转换为列表?

Nizamuddin Siddiqui
更新于 2021 年 3 月 6 日 05:04:43

3K+ 次浏览

可以通过使用 apply 函数将矩阵列转换为列表。我们将不得不使用 as.list 函数将矩阵的列读取为列表。例如,如果我们有一个名为 M 的矩阵,则可以使用命令 apply(M, 2, as.list) 将 M 中的列转换为列表。示例 1实时演示> M1 M1输出           [, 1]        [, 2] [1, ] -1.3256074 -0.07328026 [2, ]  1.1997584 -1.06542989 [3, ] -0.2214659 -1.75903298 [4, ]  1.4446361 -0.12859397 [5, ] -0.1504967  0.97264445将 M1 列转换为列表:> apply(M1, 2, as.list)输出[[1]] ... 阅读更多

如何在 R 矩阵中使用不同列索引提取向量?

Nizamuddin Siddiqui
更新于 2021 年 3 月 6 日 05:03:52

199 次浏览

假设我们有一个矩阵和一个包含与矩阵大小相同的索引的向量,那么我们可以使用索引向量从矩阵中提取向量。为此,我们可以使用 cbind 函数,如下面的示例所示。示例 1实时演示> M1 M1输出      [,1] [,2]  [1,]    4    0  [2,]    1    1  [3,]    1    2  [4,]    2    0  [5,]    3    2  [6,]    2    2  [7,]    1    6  [8,]    1    2  [9,]    3    1 [10,]    1    2 [11,]    2    3 [12,]    2    0 [13,]    3    0 [14,]    0    1 [15,]    2    4 [16,]    1    1 [17,]    3    1 [18,]    0    2 [19,]    2    1 [20,]    2    0示例> Index_M1 Index_M1输出[1] 2 1 2 1 2 2 1 1 2 1 1 2 1 1 1 1 2 2 1 1示例> M1[cbind(seq_along(Index_M1),Index_M1)]输出[1] 0 1 2 2 2 2 1 1 1 1 2 0 3 0 2 1 1 2 2 2示例 2实时演示> M2 M2输出      [,1] [,2] [,3] [,4]  [1,]   10    9    9   11  [2,]   13    6   16    8  [3,]   11   11    8   10  [4,]   15   11    9    9  [5,]   10    8    9    9  [6,]    7   14    9   15  [7,]    8    6    8    7  [8,]    4    8    9   12  [9,]    7   12   11   10 [10,]    8    8    9   13 [11,]    9   13   11    6 [12,]   12    5   11    8 [13,]    8    6   15    8 [14,]    6   17   12    7 [15,]    8   10    9    8 [16,]   13    7   11   13 [17,]    5   10    7    7 [18,]   10   11    8    8 [19,]    5    9    9   13 [20,]    5   10    7    6示例> Index_M2 Index_M2输出[1] 3 4 3 3 3 1 3 4 4 3 1 4 3 4 4 1 2 1 1 2示例> M2[cbind(seq_along(Index_M2),Index_M2)]输出[1] 9 8 8 9 9 7 8 12 10 9 9 8 15 7 8 13 10 10 5 10

如何在 R 中按行名聚合矩阵列?

Nizamuddin Siddiqui
更新于 2021 年 3 月 6 日 05:02:39

1K+ 次浏览

要按行名聚合矩阵列,我们可以使用 colSums 与 sapply 并转置输出。例如,如果我们有一个名为 M 的矩阵,则可以使用 t(sapply(by(M, rownames(M), colSums), identity)) 来按行名聚合矩阵列。示例 1考虑以下矩阵:实时演示> M1 rownames(M1) M1输出  [, 1] [, 2] B    4    6 D    2    1 B    1    5 C    0    0 A    2    3 B    1    0 B    5    3 D    1    3 C    0    1 C ... 阅读更多

如何在 R 数据框中查找字符串的位置?

Nizamuddin Siddiqui
更新于 2021 年 3 月 6 日 04:58:51

2K+ 次浏览

要查找 R 数据框中数值的位置,我们使用 which 函数,如果该值为字符串,则将使用相同的函数,但我们需要适当地传递该值。例如,如果我们有一个名为 df 的数据框,其中包含一个值,例如 tutor,则可以使用命令 which(df=="tutor", arr.ind=TRUE) 查找 tutor 的位置。示例 1考虑以下数据框:实时演示> x1 x2 x3 df1 df1输出     x1   x2   x3 1  2018 2020 2018 2  2020 2020 2015 3  2018 2020 2015 4  2018 2015 ... 阅读更多

如何在 R 中查找包含数值和非数值列的数据框的相关性?

Nizamuddin Siddiqui
更新于 2021 年 3 月 6 日 04:58:20

2K+ 次浏览

要查找包含数值和非数值列的数据框的相关性,我们可以使用 cor 函数与 sapply 并使用 complete.obs 作为皮尔逊方法。例如,如果我们有一个名为的数据框,则可以使用以下命令查找相关系数:cor(df[, sapply(df, is.numeric)], use="complete.obs", method="pearson")示例 1考虑以下数据框:实时演示> x1 x2 x3 df1 df1输出   x1 x2 x3 1   C 11  2 2   A  3  1 3   C  4  0 4   D 10  2 5   A  1  0 6   A  4  1 7   D  4  0 ... 阅读更多

如何在 R 中检查矩阵是否为二进制形式?

Nizamuddin Siddiqui
更新于 2021 年 3 月 6 日 04:57:24

205 次浏览

二元矩阵包含以二元形式表示的值,例如 0/1、1/2、是/否等。如果我们有一个包含某些值的矩阵,并且我们期望整个矩阵中只有两个值,那么我们可以检查矩阵中是否存在这两个值。例如,如果我们有一个名为 M 的矩阵,那么我们可以使用命令 all(M %in% 0:1) 检查它是否只包含 0/1。示例1在线演示> M1 M1输出      [, 1] [, 2] [, 3] [, 4]  [1, ]    0    0   ... 阅读更多

如何在 R 中查找矩阵每一行中 n 个最大值的索引?

Nizamuddin Siddiqui
更新于 2021年3月6日 04:56:32

88 次查看

如果一个矩阵有多列,并且每一行的值都不同,那么最大值的个数将等于列的个数。假设我们想提取名为 M 的矩阵中每一行中两个最大值的索引,那么我们可以使用以下命令:t(apply(M, 1, order, decreasing=TRUE)[1:2, ]) 示例1在线演示> M1 M1输出      [, 1] [, 2] [, 3] [, 4]  [1, ]    7    4    4   10  [2, ]    7    1    4    3  [3, ]    9    6    6    4  [4, ... 阅读更多

广告