我正在使用randomForestrandomForest包中的函数来查找最重要的变量:我的数据框称为城市,我的响应变量是数字收入.
urban.random.forest <- randomForest(revenue ~ .,y=urban$revenue, data = urban, ntree=500, keep.forest=FALSE,importance=TRUE,na.action = na.omit)
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
Error in randomForest.default(m, y, ...) : data (x) has 0 rows
Run Code Online (Sandbox Code Playgroud)
在源代码上它与x变量有关:
n <- nrow(x)
p <- ncol(x)
if (n == 0)
stop("data (x) has 0 rows")
Run Code Online (Sandbox Code Playgroud)
但我无法理解是什么x.
我在 Python 3.5.1 上使用 Pandas 库。如何从字段值中删除 html 标签?这是我的输入和输出:
我的代码返回了一个错误:
import pandas as pd
code=[1,2,3]
overview =['<p>Environments subject.</p>',
'<ul><li> property ;</li></ul><ul><li>markets and exchange;</li></ul>',
'<p class="MsoNormal" style="margin: 0cm 0cm 0pt;">']
# '<p class="SSPBodyText" style="padding: 0cm; text-align: justify;">The subject.</p>']
df= pd.DataFrame(overview,code)
df.columns = ['overview']
df['overview_copy'] = df['overview']
# print(df)
tags_list = ['<p>' ,'</p>' , '<p*>',
'<ul>','</ul>',
'<li>','</li>',
'<br>',
'<strong>','</strong>',
'<span*>','</span>',
'<a href*>','</a>',
'<em>','</em>']
for tag in tags_list:
# df['overview_copy'] = df['overview_copy'].str.replace(tag, '')
df['overview_copy'].replace(to_replace=tag, value='', regex=True, inplace=True)
print(df)
Run Code Online (Sandbox Code Playgroud) 我有一个定期boxplot的ggplot2:
# working example
library(ggplot2)
mtcars %>%
mutate(cyl=as.factor(cyl)) %>%
mutate(vs=as.factor(vs)) %>%
ggplot(aes(y=mpg, x=cyl)) +
geom_boxplot(aes(colour=vs))
Run Code Online (Sandbox Code Playgroud)
但是,当我创建一个对象并将其传递给 时plotly,我失去了闪避位置:
library(plotly)
mtcars_boxplot <-
mtcars %>%
mutate(cyl=as.factor(cyl)) %>%
mutate(vs=as.factor(vs)) %>%
ggplot(aes(y=mpg, x=cyl)) +
geom_boxplot(aes(colour=vs))
mtcars_boxplot %>%
ggplotly()
Run Code Online (Sandbox Code Playgroud)
我试图添加position=position_dodge()&position=position_dodge2()但他们都没有工作:
library(plotly)
mtcars_boxplot <-
mtcars %>%
mutate(cyl=as.factor(cyl)) %>%
mutate(vs=as.factor(vs)) %>%
ggplot(aes(y=mpg, x=cyl)) +
geom_boxplot(aes(colour=vs), position=position_dodge2())
mtcars_boxplot %>%
ggplotly()
Run Code Online (Sandbox Code Playgroud)
我应该怎么做才能像第一个情节一样保持闪避位置?
我dplyr在R 的包中创建了一个简单的数据透视表。这是我的工作示例:
library(dplyr)
mean_mpg <- mean(mtcars$mpg)
# creating a new variable that shows that Miles/(US) gallon is greater than the mean or not
mtcars <-
mtcars %>%
mutate(mpg_cat = ifelse(mpg > mean_mpg, 1,0))
mtcars %>%
group_by(as.factor(cyl)) %>%
summarise(sum=sum(mpg_cat),total=n()) %>%
mutate(percentage=sum*100/total)
Run Code Online (Sandbox Code Playgroud)
现在,我想编写一个函数来重用此代码:
get_pivot <- function(data, predictor,target) {
result <-
data %>%
group_by(as.factor(predictor)) %>%
summarise(sum=sum(target),total=n()) %>%
mutate(percentage=sum*100/total);
print(result)
}
Run Code Online (Sandbox Code Playgroud)
但我收到以下错误:
is.factor(x)中的错误:找不到对象'cyl'
我也试过
get_pivot(mtcars, "cyl", "mpg_cat" )
Run Code Online (Sandbox Code Playgroud)
但是没有用。
我该怎么办?
我有一个 Pandas 聚合数据框,如下所示:
import pandas as pd
agg_df = pd.DataFrame({'v1':['item', 'item', 'item', 'item', 'location', 'status', 'status'],
'v2' :['bed', 'lamp', 'candle', 'chair', 'home', 'new', 'used' ],
'count':['2', '2', '2', '1', '7', '4', '3' ]})
agg_df
Run Code Online (Sandbox Code Playgroud)
我想为学术出版做准备,我需要一个像这样的新数据框:
# item bed 2
# lamp 2
# candle 2
# chair 1
# location home 7
# status new 4
# used 3
Run Code Online (Sandbox Code Playgroud)
如何创建这样的数据框?