Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/76.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 我想使用数据帧中的变量值创建一个向量 data_R - Fatal编程技术网

R 我想使用数据帧中的变量值创建一个向量 data

R 我想使用数据帧中的变量值创建一个向量 data,r,R,我们可以使用crossprod(如果我们需要相乘然后求和) 如果是,则只需乘以对应的向量列即可 crossprod(t(data[-1]), 2:5) 或使用mapply sweep(data[-1], 2, 2:5, "*") 您希望将矩阵的矢量化点积乘以向量: mapply(`*`, data[-1], 2:5) 由于您还希望传播您的cust\u id列,因此最简单的方法是切掉输入数据帧的cust\u id列,然后将其单独返回到结果中: as.matrix(data[,c('a','

我们可以使用
crossprod
(如果我们需要相乘然后求和)

如果是,则只需乘以对应的向量列即可

crossprod(t(data[-1]), 2:5)

或使用
mapply

sweep(data[-1], 2, 2:5, "*")

您希望将矩阵的矢量化点积乘以向量:

mapply(`*`, data[-1], 2:5)
由于您还希望传播您的
cust\u id
列,因此最简单的方法是切掉输入数据帧的
cust\u id
列,然后将其单独返回到结果中:

as.matrix(data[,c('a','b','c','d')]) %*% c(2,3,4,5)

     [,1]
[1,]  125
[2,]  250
[3,]  375
[4,]  500

df.out#######我正在寻找一个函数,它可以调用a、b、c、d的值,并将###乘以各自的值,然后存储在该向量中##例如:当我将cust#u id调用为4时,我应该得到一个如下所示的向量####我想我需要一个输入值为cust#u id的函数。我发现很难理解你的问题。请阅读:。作为一个开始,你可以考虑重新打开你的问题,在评论中添加信息。理想情况下,您可以定义您的输入和所需的输出。有点不清楚。但是如果你想要一个向量,你可以使用
和(data,c(a*2,b*3,c*4,d*5))
或者如果你想将列相乘,那么
和(data,cbind(a*2,b*3,c*4,d*5))
(将cbind更改为dataframe以满足你的需要)Hi@KoenV&@user20650抱歉我的问题不清楚,我对它做了更改@user20650通过对您的代码进行一些小的更改,帮助我得到了答案>非常感谢您想要将矩阵的矢量化点积乘以矢量。您还希望传播您的
cust\u id
列:最简单的方法是将其切掉,然后将其单独绑定回结果中。在
数据
中有一个明确的
cust_id
列实际上让你的生活更加艰难;如果它只是一个行索引,它会被自动处理。嗨,akrun,很抱歉我的问题不清楚。我做了一些修改。请看一看。
mapply(`*`, data[-1], 2:5)
as.matrix(data[,c('a','b','c','d')]) %*% c(2,3,4,5)

     [,1]
[1,]  125
[2,]  250
[3,]  375
[4,]  500
df.out <- data.frame(cust_id = data[,'cust_id'],
                     result = as.matrix(data[,c('a','b','c','d')]) %*% c(2,3,4,5))

  cust_id result
1       1    125
2       2    250
3       3    375
4       4    500
5       5    625