R如果另一个变量为TRUE,则从数据框中替换变量

时间:2019-07-11 09:11:50

标签: r

我有一个数据框statistics和一个逻辑变量fromWidget,对于来自fromWidget且变量为'TRUE'的变量,我想将statistics$app_space替换为'Widget' 。 fromWidgetstatistics是另一个数据帧BPFjfiles的一部分。

fromWidget [1] TRUE TRUE FALSE FALSE TRUE FALSE TRUE TRUE FALSE FALSE

statistics$app_space [1] "www" "www" "www" "www" "www" "www" "www" "www" "www" "www"

我尝试循环通过BPFjfiles槽,但这没有用。

Orderplatforms <- lapply(BPFjfiles, function(x) {
  x$statistics$app_space["TRUE" %in% x$fromWidget] <- "Widget"
  x
  Orderplatforms <- x$statistics$app_space
})

1 个答案:

答案 0 :(得分:0)

如果"TRUE" %in% x$fromWidget中的至少一个元素为true,则条件x$fromWidget将始终为true。

仅当x$app_space为True时,才能将"Widget"替换为x$fromWidget,您可以这样做:

x$statistics$app_space[x$fromWidget] <- "Widget"