R 通过多个数据集创建循环

R 通过多个数据集创建循环,r,matrix,dataframe,R,Matrix,Dataframe,对于同级数据,我正在尝试创建一个将运行sib1到sib10的循环。我想在每一列上向前循环&如果值是174,我想对这些列求和并将其设置为1。这种方法最好运行我的逻辑回归代码。我的问题是,每个sib1-sib10都是数据集,而不是单独的列。我举了一个sib1的例子。 我希望这是有意义的,我一直在努力解决如何建立这种类型的循环 代码: sib1: 你可以这样做 # Your data as it appears in the question df <- structure(list(V1 =

对于同级数据,我正在尝试创建一个将运行sib1到sib10的循环。我想在每一列上向前循环&如果值是174,我想对这些列求和并将其设置为1。这种方法最好运行我的逻辑回归代码。我的问题是,每个sib1-sib10都是数据集,而不是单独的列。我举了一个sib1的例子。
我希望这是有意义的,我一直在努力解决如何建立这种类型的循环

代码:

sib1:


你可以这样做

# Your data as it appears in the question
df <- structure(list(V1 = c(174L, 174L, 174L, 174L, 174L, 174L, 174L, 
174L, 174L, 174L), V2 = c(174L, NA, NA, NA, NA, NA, NA, NA, NA, 
NA), V3 = c(NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), V4 = c(NA, 
NA, NA, NA, NA, NA, 174L, NA, NA, NA), V5 = c(NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA), V6 = c(NA, NA, NA, NA, NA, NA, 174L, 
NA, NA, NA), V7 = c(NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), 
    V8 = c(NA, NA, NA, NA, NA, NA, 174L, NA, NA, NA), V9 = c(NA, 
    NA, NA, NA, NA, NA, NA, NA, NA, NA), V10 = c(NA, NA, NA, 
    NA, NA, NA, NA, NA, NA, NA)), .Names = c("V1", "V2", "V3", 
"V4", "V5", "V6", "V7", "V8", "V9", "V10"), class = "data.frame", row.names = c("1:", 
"2:", "3:", "4:", "5:", "6:", "7:", "8:", "9:", "10:"))

df
#    V1  V2 V3  V4 V5  V6 V7  V8 V9 V10
#1:  174 174 NA  NA NA  NA NA  NA NA  NA
#2:  174  NA NA  NA NA  NA NA  NA NA  NA
#3:  174  NA NA  NA NA  NA NA  NA NA  NA
#4:  174  NA NA  NA NA  NA NA  NA NA  NA
#5:  174  NA NA  NA NA  NA NA  NA NA  NA
#6:  174  NA NA  NA NA  NA NA  NA NA  NA
#7:  174  NA NA 174 NA 174 NA 174 NA  NA
#8:  174  NA NA  NA NA  NA NA  NA NA  NA
#9:  174  NA NA  NA NA  NA NA  NA NA  NA
#10: 174  NA NA  NA NA  NA NA  NA NA  NA


m <- as.matrix(df)
m[m==174] <- 1
colSums(m , na.rm = TRUE )
 V1  V2  V3  V4  V5  V6  V7  V8  V9 V10 
 10   1   0   1   0   1   0   1   0   0 

不清楚您想要什么,请给出输入和输出示例欢迎使用堆栈溢出!请在这里为好的人添加可复制的样品以帮助您。看看数据集中哪里有174,我想放一个1,然后对各列求和。最终输出应为1列,其中包含0和1。
       V1  V2  V3  V4  V5  V6 V7  V8 V9 V10
    1: 174 174  NA  NA  NA  NA NA  NA NA  NA
    2: 174  NA  NA  NA  NA  NA NA  NA NA  NA
    3: 174  NA  NA  NA  NA  NA NA  NA NA  NA
    4: 174  NA  NA  NA  NA  NA NA  NA NA  NA
    5: 174  NA  NA  NA  NA  NA NA  NA NA  NA
    6: 174  NA  NA  NA  NA  NA NA  NA NA  NA
    7: 174  NA  NA 174  NA 174 NA 174 NA  NA
    8: 174  NA  NA  NA  NA  NA NA  NA NA  NA
    9: 174  NA  NA  NA  NA  NA NA  NA NA  NA
   10: 174  NA  NA  NA  NA  NA NA  NA NA  NA
# Your data as it appears in the question
df <- structure(list(V1 = c(174L, 174L, 174L, 174L, 174L, 174L, 174L, 
174L, 174L, 174L), V2 = c(174L, NA, NA, NA, NA, NA, NA, NA, NA, 
NA), V3 = c(NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), V4 = c(NA, 
NA, NA, NA, NA, NA, 174L, NA, NA, NA), V5 = c(NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA), V6 = c(NA, NA, NA, NA, NA, NA, 174L, 
NA, NA, NA), V7 = c(NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), 
    V8 = c(NA, NA, NA, NA, NA, NA, 174L, NA, NA, NA), V9 = c(NA, 
    NA, NA, NA, NA, NA, NA, NA, NA, NA), V10 = c(NA, NA, NA, 
    NA, NA, NA, NA, NA, NA, NA)), .Names = c("V1", "V2", "V3", 
"V4", "V5", "V6", "V7", "V8", "V9", "V10"), class = "data.frame", row.names = c("1:", 
"2:", "3:", "4:", "5:", "6:", "7:", "8:", "9:", "10:"))

df
#    V1  V2 V3  V4 V5  V6 V7  V8 V9 V10
#1:  174 174 NA  NA NA  NA NA  NA NA  NA
#2:  174  NA NA  NA NA  NA NA  NA NA  NA
#3:  174  NA NA  NA NA  NA NA  NA NA  NA
#4:  174  NA NA  NA NA  NA NA  NA NA  NA
#5:  174  NA NA  NA NA  NA NA  NA NA  NA
#6:  174  NA NA  NA NA  NA NA  NA NA  NA
#7:  174  NA NA 174 NA 174 NA 174 NA  NA
#8:  174  NA NA  NA NA  NA NA  NA NA  NA
#9:  174  NA NA  NA NA  NA NA  NA NA  NA
#10: 174  NA NA  NA NA  NA NA  NA NA  NA


m <- as.matrix(df)
m[m==174] <- 1
colSums(m , na.rm = TRUE )
 V1  V2  V3  V4  V5  V6  V7  V8  V9 V10 
 10   1   0   1   0   1   0   1   0   0 
df$ColTot <- colSums(m , na.rm = TRUE )
df
#    V1  V2 V3  V4 V5  V6 V7  V8 V9 V10 ColTot
#1:  174 174 NA  NA NA  NA NA  NA NA  NA     10
#2:  174  NA NA  NA NA  NA NA  NA NA  NA      1
#3:  174  NA NA  NA NA  NA NA  NA NA  NA      0
#4:  174  NA NA  NA NA  NA NA  NA NA  NA      1
#5:  174  NA NA  NA NA  NA NA  NA NA  NA      0
#6:  174  NA NA  NA NA  NA NA  NA NA  NA      1
#7:  174  NA NA 174 NA 174 NA 174 NA  NA      0
#8:  174  NA NA  NA NA  NA NA  NA NA  NA      1
#9:  174  NA NA  NA NA  NA NA  NA NA  NA      0
#10: 174  NA NA  NA NA  NA NA  NA NA  NA      0