找到 34423 篇文章 关于编程

如何在 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` 来计算皮尔逊相关系数。例如,如果我们有一个名为 `df` 的数据框,可以使用以下命令计算相关系数:`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日 4: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日 4:56:32

浏览量:89 次

如果一个矩阵有多列,并且每一行的值都不同,那么最大值的个数将等于列的个数。假设我们想提取名为 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, ... 阅读更多

广告
© . All rights reserved.