gpt4 book ai didi

r 如果值等于 X,则保留行和列名称

转载 作者:行者123 更新时间:2023-12-02 08:21:52 26 4
gpt4 key购买 nike

以下数据集

  a b c d e 
X 1 1 1 1 0
Z 1 0 0 1 0
Y 0 0 0 0 0

我想创建列表。只要一列中至少有一个值等于 1,就包含所有列名。一个包含所有行名称 (X,Z,Y) 的列表,只要至少一个行元素的值为 1。

我试过:

df[Reduce(`|`, as.data.frame(lapply(df)), function(x) x %in% 1),]

没有结果。

最后我要

x=(a,b,c,d) and z=(X,Z)

最佳答案

使用

df <- read.table(text = "  a b c d e 
X 1 1 1 1 0
Z 1 0 0 1 0
Y 0 0 0 0 0", header = T)

> df
# a b c d e
# X 1 1 1 1 0
# Z 1 0 0 1 0
# Y 0 0 0 0 0


names(which(colSums(df == 1) > 0))
# [1] "a" "b" "c" "d"

names(which(rowSums(df == 1) > 0))
# [1] "X" "Z"

关于r 如果值等于 X,则保留行和列名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36494918/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com