在r中创建回文函数

在r中创建回文函数,r,R,嗨,我有一个数据帧df,希望找出一个名称列中是否有任何回文。 我有测试数据,其中有12条记录。我知道name的两个列记录是回文。 下面的代码将使用真-假值的lappy返回一个列表 如何返回具有真实值的回文名称,以及如何找出最常出现的回文名称 is_palindrome = function(x){ charsplit = strsplit(x, "")[[1]] revchar = rev(charsplit) all(charsplit==revchar) } dfnamelc

嗨,我有一个数据帧df,希望找出一个名称列中是否有任何回文。 我有测试数据,其中有12条记录。我知道name的两个列记录是回文。 下面的代码将使用真-假值的lappy返回一个列表

如何返回具有真实值的回文名称,以及如何找出最常出现的回文名称

is_palindrome = function(x){
  charsplit = strsplit(x, "")[[1]]
  revchar = rev(charsplit)

  all(charsplit==revchar)
}

dfnamelc = tolower(as.character(df$Name))
listtest = as.list(dfnamelc)
lapply(listtest,is_palindrome)


example df
Linda,F,100
Mary,F,150
Patrick,M,200
Barbara,F,300
Susan,F,100
Norman,M,40
Deborah,F,500
Sandra,F,23
Conor,M,80
anna,F,40
Otto,M,30
anna,M,40

使用
sapply()
将结果作为向量返回,并将结果合并回数据帧可能会更方便

 df <- transform(df,
         is_pal=sapply(tolower(Name),is_palindrome))
 df$Name[df$is_pal]   ## which names are palindromes?
 paltab <- table(df$Name[df$is_pal])   ## count palindromic names
 names(paltab)[which.max(paltab)]  ## "anna"

df使用
sapply()
将结果作为向量返回,并将结果合并回数据帧可能更方便

 df <- transform(df,
         is_pal=sapply(tolower(Name),is_palindrome))
 df$Name[df$is_pal]   ## which names are palindromes?
 paltab <- table(df$Name[df$is_pal])   ## count palindromic names
 names(paltab)[which.max(paltab)]  ## "anna"

df使用
sapply()
将结果作为向量返回,并将结果合并回数据帧可能更方便

 df <- transform(df,
         is_pal=sapply(tolower(Name),is_palindrome))
 df$Name[df$is_pal]   ## which names are palindromes?
 paltab <- table(df$Name[df$is_pal])   ## count palindromic names
 names(paltab)[which.max(paltab)]  ## "anna"

df使用
sapply()
将结果作为向量返回,并将结果合并回数据帧可能更方便

 df <- transform(df,
         is_pal=sapply(tolower(Name),is_palindrome))
 df$Name[df$is_pal]   ## which names are palindromes?
 paltab <- table(df$Name[df$is_pal])   ## count palindromic names
 names(paltab)[which.max(paltab)]  ## "anna"

df如果答案解决了您的问题,欢迎您单击它旁边的复选标记接受它…如果答案解决了您的问题,欢迎您单击它旁边的复选标记接受它…如果答案解决了您的问题,欢迎您单击它旁边的复选标记接受它…如果答案解决了您的问题欢迎您单击它旁边的复选标记以接受它。。。