【问题标题】:Matrix Corrrelation in RR中的矩阵相关
【发布时间】:2019-12-07 20:57:41
【问题描述】:

我正在尝试使用 R 创建一个相关矩阵,但我遇到了问题。所有的教程通常都使用非常小的数据集,但是,我需要从一个大数据集中选择 8 行和一个平均两行的变量。我不知道如何做我选择特定行的部分。有人可以帮我解决这个问题吗?非常感谢任何帮助。

有人向我要样品:

“NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA, NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA, NA,NA,NA,NA,NA,NA,NA,NA,0.1577,NA,0.2197,NA,0.348, NA,0.086,NA,NA,NA,NA,NA,NA,NA,NA,0.3768,NA,0.2163, NA,0.336,NA,0.329,NA,NA,NA,NA,NA,NA,NA,NA,0.2881, NA,0.0632,NA,0.235,NA,0.167,NA,NA,NA,NA,NA,NA, NA,NA,0.2076,NA,0.3705,NA,0.164,NA,0.255,NA,NA, NA,NA,NA,NA,NA,NA,0.1795,NA,0.3649,NA,0.246,NA, 0.628,NA,NA,NA,NA,NA,NA,NA,NA,0.0227,NA,0.3975, NA,0.176,NA,0.13,NA,NA,NA,NA,NA,NA,NA,NA,NA, NA,NA,NA,0.5,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA, 0.6333,NA,0.3627,NA,0.603,NA,0.408,NA,NA,NA,NA, NA,NA,NA,NA,0.6667,NA,0.8889,NA,0.6,NA,0.6,NA, NA,NA,NA,NA,NA,NA,NA,0.0545,NA,0.2547,NA,0.431, NA,0.126,NA,NA,NA,NA,NA,NA,NA,NA,0.2388,NA,0.5514, NA,0.32,NA,0.424,NA,NA,NA,NA,NA,NA,NA,NA,0.6667, NA,0.3867,NA,0.313,NA,0.75,NA,NA,NA,NA,NA,NA, NA,NA,0.752,NA,0.482,NA,0.349,NA,0.24,NA,NA,NA, NA,NA,NA,NA,NA,0.5161,NA,0.641,NA,0.643,NA,0.438, NA,NA,NA,NA,NA,NA,NA,NA,0.3492,NA,0.3,NA,0.391, NA,0.645,NA,NA,NA,NA,NA,NA,NA,NA,0.3531,NA,0.5755, NA,0.667,NA,0.751,NA,NA,NA,NA,NA,NA,NA,NA,0.2941, NA,0.5119,NA,0.294,NA,0.526,NA,NA,NA,NA,NA,NA, NA,NA,0.2941,NA,0.1515,NA,0.3,NA,0.124,NA,NA,NA,"

【问题讨论】:

  • 我们当然可以帮助您,但首先您需要与我们分享一些数据样本。 Fictitious data would work as well.
  • 选择行是主要的疑问? mat[i, ]mat[i1:i2, ].
  • @patL 我有一个庞大的数据集(9240 obs。和 110 个变量)。你能告诉我如何提供我的数据样本吗?我尝试在文本中使用 dput 和其他命令,但看看我在原始帖子中得到了什么。
  • @RuiBarradas 但是如果有 110 行呢?我还需要看哪一行在哪里吗?或者有没有其他方法可以通过使用行的名称来做相关矩阵。对不起,如果这是一个愚蠢的问题,但我真的没有互联网教程。
  • 1) 如果你的数据集很大,一个子集可能是dput(data[1:20, 1:10])。 2)您可以按行名进行子集化。请参阅hereherehere

标签: r


【解决方案1】:

假设您有一个包含 110 行和 84 列的文件(这使您的矩阵大小为 9240)。

用于读取您的文件(如果您的数据存在于文件中)

data <- data.frame(read.csv("file.txt", header=TRUE, sep="\t"))

如果文件中有标题,则使用标题“TRUE”,否则使用“FALSE”。

现在根据您的需要选择任何行。

仅适用于 1 行(包含所有列):

your_df <- data[1,]

仅适用于第 1 到 10 行(包含所有列):

your_df <- data[1:10,]

对于第 1、3 和 10 行(包含所有列):

 your_df <- data[c(1,3,10),]

同样,您可以通过在方括号中的逗号后输入值来选择任何列。 对于第 3 行和第 2 列:

your_df <- data[3,2]

对于第 1 到第 10 行和第 51 到第 60 列:

your_df <- data[1:10,51:60]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-06-15
    • 2019-04-15
    • 2018-08-08
    • 1970-01-01
    • 2018-03-15
    • 2018-12-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多