Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 从连接的值创建新的矩阵列_R - Fatal编程技术网

R 从连接的值创建新的矩阵列

R 从连接的值创建新的矩阵列,r,R,我有一个包含0和1的列的矩阵,我希望将每行中的值串联起来,以便在该矩阵中使用该串联字符串创建一个新列 我曾经 apply(format(matrix), 1, paste, collapse="") 从 创建一个串联值列表,但我在将这些值放入矩阵中的新列时遇到了问题-此代码的第二行语法错误 我当前的代码: newcolumn <- rep(0,times=nrow(matrix)) newcolumn[matrix[apply(format(matrix), 1, paste, col

我有一个包含0和1的列的矩阵,我希望将每行中的值串联起来,以便在该矩阵中使用该串联字符串创建一个新列

我曾经

apply(format(matrix), 1, paste, collapse="") 
从 创建一个串联值列表,但我在将这些值放入矩阵中的新列时遇到了问题-此代码的第二行语法错误

我当前的代码:

newcolumn <- rep(0,times=nrow(matrix))
newcolumn[matrix[apply(format(matrix), 1, paste, collapse="")]]
matrix <- cbind(matrix, newcolumn)
newcolumn
  • 您需要阅读R的基本介绍(请参阅) 目前,您已经创建了一个
    0
    的向量作为
    newcolumn
    。您的第二行代码是垃圾(正如您正确指出的)——请参见第1点

    您可以将
    apply(format(matrix),1,paste,collapse=“”)的结果绑定到
    matrix
    。无需预先分配
    newcolumn

    请注意,
    矩阵
    只能保存单一类型的数据(即数字或字符等),因此,如果包含
    字符
    列,则整个矩阵将强制为字符

    # examples
    # a character matrix containing the result + matrix coerced to character
    charResults <- cbind(matrix, apply(format(matrix), 1, paste, collapse="") )
    
    
    # you could use a data.frame to have different data classes in the same structure
    
    dfResults <- cbind(as.data.frame(matrix), result = apply(format(matrix), 1, paste, collapse=""))
    
    #示例
    #包含强制为字符的结果+矩阵的字符矩阵
    
    charResults
    cbind(矩阵,paste0(as.character(矩阵[,1]),as.character(矩阵[,2]))
    应该可以做到这一点。矩阵必须转换为字符格式以适应“01”大小写。

    假设您有一个如下所示的矩阵a
    A=[[1,2,3,4,5,6],

    [11,12,13,14,15,16],

    [21,22,23,24,25,26],

    [31,32,33,34,35,36],

    [41,42,43,44,45,46]

    您希望将1、2、3列与最后一列6.5列连接起来,以构建一个新矩阵,如下所示:;
    NewA=

    [[1,2,3,6],

    [11,12,13,16],

    [21,22,23,26],

    [31,32,33,36],

    [41,42,43,46]

    我已经找到了实现这一目标的最简单的方法

    将numpy作为np导入

    NewA=np.concatenate((np.transpose(A)[0:3],np.transpose(A)[5:6])).transpose()


    我希望它能对你有所帮助……

    非常感谢-我非常需要更多关于R的基本介绍,诚然,但不幸的是,我在做这个项目时比我希望的要匆忙得多。您的charResults代码正是我所需要的-非常感谢。提问者的问题与
    r
    有关,但您提供的解决方案是针对
    python
    语言的。