gpt4 book ai didi

r - 如何根据R中某行中的条件选择列

转载 作者:行者123 更新时间:2023-12-04 02:19:20 24 4
gpt4 key购买 nike

我有一个包含行名和列名的值矩阵,如下所示。

C5.异常值

Days   J1      J2      J3      J4  
0.01 458 -160 -151 -52
0.02 459 -163 -154 -46
0.03 457 -165 -150 -51
Perc 0.99 0.04 0.00 0.52

我想创建一个单独的矩阵,仅使用“Perc”行的值为 =<50.0 的列。在此示例中,我将提取列 J2 和 J3。

这是我试过但不起作用的代码(“Perc”行是我矩阵上的第 1414 行):C5.Final<-subset(C5.Outliers, 1414<.51)

最佳答案

我假设你的意思是 0.50,因为所有带有“Perc”的列都在 50.0 以上。

这可能不是最好的方法,但它有效:

#data:
df <- data.frame(Days=c(0.01,0.02,0.03,"Perc"),J1=c(458,459,457,0.99),
J2 =c(-165,-163,-160,0.04),J3=c(-151,-153,-131,0.00),J4=c(-52,-45,-51,0.52))

dfc <- subset(df,,select= which(c(TRUE,(df[which(df$Days == "Perc"), ] <= 0.50)[2:5])))

dfc
Days J2 J3
1 0.01 -165.00 -151
2 0.02 -163.00 -153
3 0.03 -160.00 -131
4 Perc 0.04 0

如果不需要 df$Days 变量,可以删除 TRUE,,如果需要,更改 0.50 阈值并扩展 2:5 如果您有额外的列,甚至可以将 “Perc” 替换为 1414 如果您愿意的话。

希望这能奏效。

关于r - 如何根据R中某行中的条件选择列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32100093/

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