小编Tar*_*rak的帖子

使用dplyr按组替换NA与上一个或下一个值

我有一个数据框,按日期的降序排列.

ps1 = data.frame(userID = c(21,21,21,22,22,22,23,23,23), 
             color = c(NA,'blue','red','blue',NA,NA,'red',NA,'gold'), 
             age = c('3yrs','2yrs',NA,NA,'3yrs',NA,NA,'4yrs',NA), 
             gender = c('F',NA,'M',NA,NA,'F','F',NA,'F') 
)
Run Code Online (Sandbox Code Playgroud)

我希望将NA值用先前的值归入(替换)并按userID分组如果userID的第一行有NA,则替换为该用户ID组的下一组值.

我正在尝试使用像这样的dplyr和zoo软件包......但它不起作用

cleanedFUG <- filteredUserGroup %>%
 group_by(UserID) %>%
 mutate(Age1 = na.locf(Age), 
     Color1 = na.locf(Color), 
     Gender1 = na.locf(Gender) ) 
Run Code Online (Sandbox Code Playgroud)

我需要结果df像这样:

                      userID color  age gender
                1     21  blue 3yrs      F
                2     21  blue 2yrs      F
                3     21   red 2yrs      M
                4     22  blue 3yrs      F
                5     22  blue 3yrs      F
                6     22  blue 3yrs      F
                7     23   red 4yrs      F
                8     23   red 4yrs      F
                9 …
Run Code Online (Sandbox Code Playgroud)

r missing-data zoo dplyr

27
推荐指数
3
解决办法
2万
查看次数

R keras模型评估/预测错误:do.call(object $ evaluate,args)中的错误:“ what”必须是函数或字符串

我有一个keras模型(使用R)和TF作为后端,如下

history <- model %>% fit( train_X1,train_y,batch_size=100,
               epochs=80,validation_split = 0.2,
               shuffle=TRUE)

> class(model)
[1] "keras.models.Sequential"         "keras.engine.training.Model"    
[3] "keras.engine.topology.Container" "keras.engine.topology.Layer"    
[5] "python.builtin.object"                
Run Code Online (Sandbox Code Playgroud)

尺寸如下:

> dim(train_X1)
[1] 4893   64   64    1
> dim(train_y)
[1] 4893   12
Run Code Online (Sandbox Code Playgroud)

我想先在火车上评估,然后在测试中预测。

model %>% evaluate(train_X1,train_y)
pred <- model %>% predict_classes(train_X1)
Run Code Online (Sandbox Code Playgroud)

但是在运行评估命令时出现以下错误:

Error in do.call(object$evaluate, args) :  'what' must be a function or character string
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激。谢谢

r predict keras

5
推荐指数
0
解决办法
616
查看次数

用ID替换另一个数据框中的值

我有两个数据框:

as1 <- data.frame(ID = c(1,2,3,4,5,6),
                  pID = c(21,22,23,24,25,26),
                  Values = c(435,33,45,NA, NA,12))
as2 <- data.frame(ID = c(4,5),
                  pid = c(24,25),
                  Values = c(544, 676))
Run Code Online (Sandbox Code Playgroud)

我需要通过匹配ID和pID将as1中的NA值替换为as2中的NA值

我需要获取结果数据框架为:

  resultdf
    ID pID Values
    1  1  21    435
    2  2  22     33
    3  3  23     45
    4  4  24    544
    5  5  25    676
    6  6  26     12
Run Code Online (Sandbox Code Playgroud)

我尝试先做子集,然后na.omit()再执行rbind...但是我丢失了索引。

r dataframe

4
推荐指数
4
解决办法
6550
查看次数

在数据框中查找连续值

我有一个数据帧.我希望检测连续数字并将新列填充为1或0.

  ID Val
1  a   8
2  a   7
3  a   5
4  a   4
5  a   3
6  a   1
Run Code Online (Sandbox Code Playgroud)

预期产出

  ID Val  outP
1  a   8  0
2  a   7  1
3  a   5  0
4  a   4  1
5  a   3  1
6  a   1  0
Run Code Online (Sandbox Code Playgroud)

r

3
推荐指数
1
解决办法
1120
查看次数

R-使用dplyr mutate和if_else期望单个值的错误

我有一个数据框str是

  'data.frame': 334 obs. of  6 variables:
   $ Patient_ID       : int  524451 517060 518025 515768 499994 
   $ Camp_Start_Date  : Date, format: "2003-08-16" "2005-02-15" "2005-02-15" ...
   $ Camp_End_Date    : Date, format: "2003-08-20" "2005-02-18" "2005-02-18" ...
   $ First_Interaction: Date, format: "2003-08-16" "2004-10-03" "2005-02-17" ...
Run Code Online (Sandbox Code Playgroud)

我用它来创建一个新的列pRegDate

  RegDatelogicLUT <- RegDatelogicLUT %>%
  mutate(pRegDate = if_else(between(First_Interaction, Camp_Start_Date, Camp_End_Date), First_Interaction, Camp_Start_Date)
     )
Run Code Online (Sandbox Code Playgroud)

得到错误。

  Error: expecting a single value
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激。谢谢

r dplyr

2
推荐指数
1
解决办法
1154
查看次数

匹配后从文本中提取字符串 - regex R.

我有一个输入文字

   inputQ <- "What can I do ..my baby has rash all over. Suggest good rash cream"
Run Code Online (Sandbox Code Playgroud)

我有一份条款清单

terms <- c("diaper","cloth diaper","rash pants","rash","baby wipes","rash cream")
Run Code Online (Sandbox Code Playgroud)

我希望完全匹配其中一个术语并返回它我尝试使用for循环,但是有更好的方法

结果应该是

 rash cream
Run Code Online (Sandbox Code Playgroud)

存储在matchedTerm中

regex r grepl

-5
推荐指数
1
解决办法
146
查看次数

标签 统计

r ×6

dplyr ×2

dataframe ×1

grepl ×1

keras ×1

missing-data ×1

predict ×1

regex ×1

zoo ×1