在r中创建回文函数
嗨,我有一个数据帧df,希望找出一个名称列中是否有任何回文。 我有测试数据,其中有12条记录。我知道name的两个列记录是回文。 下面的代码将使用真-假值的lappy返回一个列表 如何返回具有真实值的回文名称,以及如何找出最常出现的回文名称在r中创建回文函数,r,R,嗨,我有一个数据帧df,希望找出一个名称列中是否有任何回文。 我有测试数据,其中有12条记录。我知道name的两个列记录是回文。 下面的代码将使用真-假值的lappy返回一个列表 如何返回具有真实值的回文名称,以及如何找出最常出现的回文名称 is_palindrome = function(x){ charsplit = strsplit(x, "")[[1]] revchar = rev(charsplit) all(charsplit==revchar) } dfnamelc
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如果答案解决了您的问题,欢迎您单击它旁边的复选标记接受它…如果答案解决了您的问题,欢迎您单击它旁边的复选标记接受它…如果答案解决了您的问题,欢迎您单击它旁边的复选标记接受它…如果答案解决了您的问题欢迎您单击它旁边的复选标记以接受它。。。