'what' 必须是 R 错误消息中的函数或字符串
'what' must be a function or character string in R error message
我正在绘制不同的 umap。
我有一部分代码在昨天工作,但是今天我收到错误消息: do.call(c, lapply(2:ncol(nn_idx), function(i) as.vector(rbind(nn_idx[ : 'what' 必须是函数或字符串
我的代码如下:
read.csv (Tabula, row.names=1)%>% as.matrix()-> counts0
t(t(counts0)/colSums(counts0))-> fracs
log(fracs+ 10^-5) -> lfracs
irlba::prcomp_irlba(t(lfracs), n=30)-> pca
colnames (lfracs) -> rownames (pca$x)
rownames (lfracs) -> rownames (pca$rotation)
pca$x %>% head()
set.seed(12345678)
uwot::umap(pca$x, ret_nn=TRUE, spread=5)-> ump
rownames(pca$x)-> rownames(ump$embedding)
as_tibble(ump$embedding)%>%
ggplot + geom_point (aes(x=V1, y=V2), size= .5)+ coord_equal()
现在这是我收到错误消息的部分:
library(igraph)
louvain_clustering <- function (nn_idx){
do.call (c,lapply (2:ncol(nn_idx), function (i)
as.vector (rbind (nn_idx[,1], nn_idx[,i]))))->edge_list
igraph::make_undirected_graph(edge_list)-> graph
igraph::cluster_louvain(graph)-> clustering
factor(igraph::membership(clustering))
}
louvain_clustering(ump$nn$euclidean$idx)->louvain
as_tibble(ump$embedding)%>%
mutate(cluster=louvain)-> Maus
ggplot(Maus, aes(x=V1, y=V2, col=cluster))+
geom_point(size=.3)+
geom_text(aes(label=cluster), col="black",
data= (Maus %>% group_by (cluster)%>% summarise_all(mean)))+
coord_equal()
在线出现错误信息
louvain_clustering(ump$nn$euclidean$idx)->louvain
并声明:do.call(c, lapply(2:ncol(nn_idx), function(i) as.vector(rbind(nn_idx[ : 'what' 必须是函数或字符串
我实在想不通我的错误在哪里,希望有人能帮忙。谢谢
也许你覆盖了原始函数 c ? R 让你这样做,我能够在下面复制你的错误,要修复它,你只需删除 c ,它就会恢复到原始函数,所以你可以试试,如果它解决了你的问题,请告诉我。
do.call(c,list(1,2,3))
>> 1 2 3
c <- 123
do.call(c, list(1,2,3))
>> Error in do.call(c, list(1, 2, 3)) :
'what' must be a function or character string
rm(c)
do.call(c,list(1,2,3))
>> 1 2 3
我正在绘制不同的 umap。 我有一部分代码在昨天工作,但是今天我收到错误消息: do.call(c, lapply(2:ncol(nn_idx), function(i) as.vector(rbind(nn_idx[ : 'what' 必须是函数或字符串
我的代码如下:
read.csv (Tabula, row.names=1)%>% as.matrix()-> counts0
t(t(counts0)/colSums(counts0))-> fracs
log(fracs+ 10^-5) -> lfracs
irlba::prcomp_irlba(t(lfracs), n=30)-> pca
colnames (lfracs) -> rownames (pca$x)
rownames (lfracs) -> rownames (pca$rotation)
pca$x %>% head()
set.seed(12345678)
uwot::umap(pca$x, ret_nn=TRUE, spread=5)-> ump
rownames(pca$x)-> rownames(ump$embedding)
as_tibble(ump$embedding)%>%
ggplot + geom_point (aes(x=V1, y=V2), size= .5)+ coord_equal()
现在这是我收到错误消息的部分:
library(igraph)
louvain_clustering <- function (nn_idx){
do.call (c,lapply (2:ncol(nn_idx), function (i)
as.vector (rbind (nn_idx[,1], nn_idx[,i]))))->edge_list
igraph::make_undirected_graph(edge_list)-> graph
igraph::cluster_louvain(graph)-> clustering
factor(igraph::membership(clustering))
}
louvain_clustering(ump$nn$euclidean$idx)->louvain
as_tibble(ump$embedding)%>%
mutate(cluster=louvain)-> Maus
ggplot(Maus, aes(x=V1, y=V2, col=cluster))+
geom_point(size=.3)+
geom_text(aes(label=cluster), col="black",
data= (Maus %>% group_by (cluster)%>% summarise_all(mean)))+
coord_equal()
在线出现错误信息
louvain_clustering(ump$nn$euclidean$idx)->louvain
并声明:do.call(c, lapply(2:ncol(nn_idx), function(i) as.vector(rbind(nn_idx[ : 'what' 必须是函数或字符串
我实在想不通我的错误在哪里,希望有人能帮忙。谢谢
也许你覆盖了原始函数 c ? R 让你这样做,我能够在下面复制你的错误,要修复它,你只需删除 c ,它就会恢复到原始函数,所以你可以试试,如果它解决了你的问题,请告诉我。
do.call(c,list(1,2,3))
>> 1 2 3
c <- 123
do.call(c, list(1,2,3))
>> Error in do.call(c, list(1, 2, 3)) :
'what' must be a function or character string
rm(c)
do.call(c,list(1,2,3))
>> 1 2 3