Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.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,如果金额超过限额,我想将金额列的值替换为限额值的50% 这给了我一个错误 Error in `[<-.data.frame`(`*tmp*`, cust_spend_trans$Amount > cust_spend_trans$Limit, : replacement has 1500 items, need 6070 “[cust\u spend\u trans$Limit”中的错误: 更换1500件,需要6070件 您的代码试图分配给所有列,因为您使用的是数据[某些行

如果金额超过限额,我想将金额列的值替换为限额值的50%

这给了我一个错误

Error in `[<-.data.frame`(`*tmp*`, cust_spend_trans$Amount > cust_spend_trans$Limit,  : 
  replacement has 1500 items, need 6070
“[cust\u spend\u trans$Limit”中的
错误:
更换1500件,需要6070件

您的代码试图分配给所有列,因为您使用的是
数据[某些行,]=…
。相反,您需要
数据[某些行,金额]=…
要指定要将值指定给的列,请执行以下操作:

cust_spend_trans[cust_spend_trans$Amount > cust_spend_trans$Limit, "Amount"] = (0.5*cust_spend_trans$Limit)
或者,去掉
[
中的逗号并将
$Amount
在开始处,因此分配给列向量的子集
数据$Amount

cust_spend_trans$Amount[cust_spend_trans$Amount > cust_spend_trans$Limit] = (0.5*cust_spend_trans$Limit)

cust\u-spend\u-trans[cust\u-spend\u-trans$金额>cust\u-spend\u-trans$限额,]
反映一部分数据,而不是所有行。
cust expense\u trans$Limit
反映所有行。此外,第一行反映所有列,而后一列只反映一列。请使用
dput
添加数据,并显示相同数据的预期输出。请阅读有关的信息以及如何给出建议。
cust_spend_trans$Amount[cust_spend_trans$Amount > cust_spend_trans$Limit] = (0.5*cust_spend_trans$Limit)