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/sql/79.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 为什么不能为数据帧中的空白位置赋值,返回“0”;替换有1行,数据有0行;_R - Fatal编程技术网

R 为什么不能为数据帧中的空白位置赋值,返回“0”;替换有1行,数据有0行;

R 为什么不能为数据帧中的空白位置赋值,返回“0”;替换有1行,数据有0行;,r,R,我有一个列表,它的元素是数据帧。对于这些数据帧,存在一些缺少的值。我不想让它们空白,因此我写了一个循环来给空白位置分配“AAAAA”。但它又回来了 Error in `$<-.data.frame`(`*tmp*`, "applicable_manufacturer_or_applicable_gpo_making_payment_name", : replacement has 1 row, data has 0 我的代码是(数据就是那个列表) for(1中的i:长度(数据))

我有一个列表,它的元素是数据帧。对于这些数据帧,存在一些缺少的值。我不想让它们空白,因此我写了一个循环来给空白位置分配“AAAAA”。但它又回来了

Error in `$<-.data.frame`(`*tmp*`, "applicable_manufacturer_or_applicable_gpo_making_payment_name",  : 
  replacement has 1 row, data has 0
我的代码是(数据就是那个列表)

for(1中的i:长度(数据)){
如果(isTRUE(长度(数据[[i]]$适用的制造商或适用的gpo付款的gpo)==0)){

数据[[i]]$适用的\制造商\或\适用的\ gpo \付款\名称根据您的评论,这里有一种使用
lapply的更简单方法-

DATA <- lapply(DATA, function(x) {
  if(nrow(x) == 0) {
    x[1, "applicable_manufacturer_or_applicable_gpo_making_payment_name"] <- "AAAAA"
  }
  x
})

<代码>数据“空白”是0还是不存在?无论哪种方式,您的<代码>如果条件都不必要地复杂化。那么,空白是指“长度(0)”,数据文件列是如何长度0的?考虑添加1个或2个小示例数据框到您的帖子。>是。数据帧(数据[[1 ] ] [1 ]真>长度(数据[[1 ] ]$applicable_manufacturer_或_applicable_gpo_MAKENG_payment_name)[1]00表示该列不存在,这与“列具有空白值”不同。总之,如果在帖子中添加1或2个小示例数据框,会更容易提供帮助。
for (i in 1:length(DATA)) {
  if(isTRUE(length(DATA[[i]]$applicable_manufacturer_or_applicable_gpo_making_payment_name) == 0)) {
    DATA[[i]]$applicable_manufacturer_or_applicable_gpo_making_payment_name <- "AAAAA"
  }
}
DATA <- lapply(DATA, function(x) {
  if(nrow(x) == 0) {
    x[1, "applicable_manufacturer_or_applicable_gpo_making_payment_name"] <- "AAAAA"
  }
  x
})