【发布时间】:2021-10-06 03:21:07
【问题描述】:
df <- data.frame(PatientID = c("0002" ,"0002", "0005", "0005" ,"0009" ,"0009" ,"0018", "0018" ,"0039" ,"0039" , "0043" ,"0043", "0046", "0046" ,"0048" ,"0048"),
Timepoint= c("A", "B", "A", "B", "A", "B", "A", "B", "A", "B", "A", "B", "A", "B", "A", "B"),
sex= c("F", "F", "M", "M", "F", "F", "M", "M","F", "F", "M", "M", "M", "M", "F", "F"),
country= c("I", "I", "S", "S", "S", "S", "S", "S","S", "S", "I", "I", "I", "I", "I", "I"),
A = c(NA , 977.146 , NA , 964.315 ,NA , 952.311 , NA , 950.797 , 947.465 , 902.852 , 985.124 ,NA , 930.141 ,1007.790 , 1027.110 , 999.414),
B = c(998.988 , NA , 998.680 , NA , 1020.560 , 955.540 , 911.606 , 964.039 , 988.087 , 902.367 , 959.338 ,1029.050 , 987.374 ,1066.400 ,957.512 , 917.597),
C = c( 987.140 , 961.810 , 929.466 , 978.166, 969.469 , 943.398 ,936.034, 965.292 , 996.404 , 920.610 , 967.047, 913.517 , 893.428 , 921.606 , 929.590 ,950.493),
D = c( 961.810 , 929.466 , 978.166, 1005.820 , 925.752 , 969.469 ,943.398 , 965.292 , 996.404 , 967.047 , NA , 893.428 , 921.606 , 976.192 , 929.590 , 950.493),
E = c(1006.330, 1028.070 , 954.274 ,1005.910 ,949.969 , 992.820 ,934.407 , 948.913 , 961.375 ,955.296 , 961.128 ,998.119 ,1009.110 , 994.891 ,1000.170 ,982.763),
G= c(NA , 958.990 , 924.680 , 955.927 , NA , 949.384 ,973.348 , 984.392 , 943.894 , 961.468 , 995.368 , 994.997 , 979.454 , 952.605 ,NA , 956.507), stringsAsFactors = F)
我有这段代码可以对超过范围的 3 列或更多列的人进行分类,阈值为 1015:
cols <- 5:10
df$Myo <- ifelse(rowSums(df[cols] > 1015, na.rm = TRUE) >= 3, 'Yes', 'No')
我需要将此代码欺骗为其他 2 个代码:
-
一个代码具有不同的性别阈值(女性阈值 1004 (
df$sex==F) 和男性阈值 986 (df$sex==M)。 -
基于 4 个阈值选择的其他代码:
a) 第一个门槛是居住在瑞典 (df$country==S) 的男性 (df$sex==M),这个门槛是 900
b) 第二个门槛是生活在瑞典 (df$country==S) 的女性 (df$sex==F),这个门槛是 1016
c) 第一个门槛是居住在冰岛 (df$country==I) 的男性 (df$sex==M),这个门槛是 800
d) 第二个门槛是生活在冰岛 (df$country==I) 的女性 (df$sex==F),这个门槛是 1000。
谢谢!!
【问题讨论】:
-
对于这个
df,你想要什么Myo? (这将用于做基准检查我们的答案) -
如果分别满足
a),b),c),d),期望值是多少(Myo?)? -
谢谢!不,例如在第一个输出中,我有兴趣为男性设置一个阈值,为女性设置另一个阈值。在另一个(a)b)c)d)中,来自瑞典的女性有一个,来自冰岛的女性有一个不同的,男性也一样。我希望这很清楚。 :) 对于这两个输出,当其中 3 个列超出范围时,Myo 将是肯定的
标签: r if-statement subset categories rowsum