我发现这种行为很奇怪,希望更有经验的用户分享他们的想法和解决方法.在R中运行下面的代码示例时:
sampleList <- list()
d<- data.frame(x1 = letters[1:10], x2 = 1:10, stringsAsFactors = FALSE)
for(i in 1:nrow(d)) {
sampleList[[i]] <- d$x1[i]
}
print(sampleList[[1]])
#[1] "a"
print(sampleList[[2]])
#[1] "b"
print(sampleList[[3]])
#[1] "c"
print(length(sampleList))
#[1] 10
sampleList[[2]] <- NULL
print(length(sampleList))
#[1] 9
print(sampleList[[2]])
#[1] "c"
print(sampleList[[3]])
#[1] "d"
Run Code Online (Sandbox Code Playgroud)
列表元素向上移动.也许这是预期的,但我正在尝试实现一个函数,我合并列表中的两个元素并删除一个.我基本上想要丢失该列表索引或将其作为NULL.
有什么办法我可以为它分配NULL而没有看到上述行为?
谢谢你的建议.
首先我要说的是,我已经阅读了很多关于交叉验证的帖子,似乎有很多混乱.我的理解就是这样:
我正在尝试使用rpartR 构建一个决策树并利用该caret包.以下是我正在使用的代码.
# load libraries
library(caret)
library(rpart)
# define training control
train_control<- trainControl(method="cv", number=10)
# train the model
model<- train(resp~., data=mydat, trControl=train_control, method="rpart")
# make predictions
predictions<- predict(model,mydat)
# append predictions
mydat<- cbind(mydat,predictions)
# summarize results
confusionMatrix<- confusionMatrix(mydat$predictions,mydat$resp)
Run Code Online (Sandbox Code Playgroud)
我有一个关于插入火车应用的问题.我已经阅读了插入符号列表部分的简短介绍,其中说明了在重新采样过程中确定了"最佳参数集".
在我的例子中,我是否正确编码了?我是否需要rpart在代码中定义参数或我的代码是否足够?
在Graphics中添加Standard Shader —— Always Include Shaders时,Unity总是卡在sharedassets0.asset中。我知道它的统一性符合背景中的着色器变体。它大约有 60000 个变体,这使得 .apk 大小比正常大小大三倍。并且构建需要很长时间(几个小时),即使是一个空项目。如果我从列表中删除着色器,当我从资产包加载模型时,它将是粉红色的。只将标准添加到list,那么一切就ok了!有什么办法可以解决这个问题吗?请帮帮我!我用谷歌搜索了所有我能用的谷歌!
您好,我正在尝试在 Jupyter 笔记本中使用 ipywidgets 绘制一个图表,但我没有这样的运气。当更新按钮起作用时,我希望让小部件根据数据框进行更新。有人知道我哪里出错了吗?
#Import Libraries
import pandas as pd
import folium
import geocoder
import numpy as np
import plotly.plotly as py
from plotly.graph_objs import *
import plotly.offline as py
from ipywidgets import widgets, HBox, Output, interactive
py.offline.init_notebook_mode(connected=False)
#Load Dataset
df = pd.read_excel('LOAS_Biography data (feb 2018).xlsx', sheetname='concerts')
#Rename Columns In DataFrame
df.columns = ['Date', 'City', 'Country', 'Venue', 'Capacity', 'Ticket', 'Tour', 'Event', 'Sold Out', 'Champion']
#Summarises Data by Summing Data Per Country
df = df.groupby('Country', as_index= False).sum()
df = df.head(10) …Run Code Online (Sandbox Code Playgroud) LC RC TOEIC eua again class
1: 490 390 880 90 0 100818
2: 495 395 890 90 0 100818
3: 490 330 820 90 0 100818
4: 495 460 955 96 0 100818
5: 495 370 865 91 0 100818
---
1021: 470 400 870 61 0 100770
1022: 260 180 440 48 0 100770
1023: 345 190 535 39 0 100770
1024: 450 295 745 65 0 100770
1025: 395 230 625 79 0 100770
Run Code Online (Sandbox Code Playgroud)
这是名为"analy"的data.table
我想要缩放变量"LC","RC","TOEIC","eua"
我可以像这样扩展 …
假设我有一个数据集data:
x1 <- c("a","a","a","a","a","a","b","b","b","b")
x2 <- c("a1","a1","a1","a1","a1","a1","b1","b1","b2","b2")
data <- data.frame(x1,x2)
x1 x2
a a1
a a1
a a2
a a1
a a2
a a3
b b1
b b1
b b2
b b2
Run Code Online (Sandbox Code Playgroud)
我想找到x1对应的唯一值的数量x2
例如a,只有3个唯一值(a1,a2和a3)并且b有2个值(b1和b2)
我使用aggregate(x1~.,data,sum)但它没有用,因为这些是因素,而不是整数.
请帮忙
在中data.table,如果某个列具有相同的值并连续出现多次,那么我想删除相应的行。我也想按小组这样做。
例如,说dt是我的data.table。如果同一值在Petal.Width分组中连续2次连续出现,我想删除行Species。
dt <- iris[c(1:3, 7:7, 51:53, 62:63), ]
setDT(dt)
# Sepal.Length Sepal.Width Petal.Length Petal.Width Species
# 1 5.1 3.5 1.4 0.2 setosa
# 2 4.9 3.0 1.4 0.2 setosa
# 3 4.7 3.2 1.3 0.2 setosa
# 7 4.6 3.4 1.4 0.3 setosa
# 51 7.0 3.2 4.7 1.4 versicolor
# 52 6.4 3.2 4.5 1.5 versicolor
# 53 6.9 3.1 4.9 1.5 versicolor
# 62 5.9 3.0 4.2 …Run Code Online (Sandbox Code Playgroud) 我是 R 新手。我的问题是如何使用缺失数据点之前和之后的平均值来估算缺失值?
例子;
使用每个 NA 的上限和下限的平均值作为插补值。
-第 3 行的平均值为 38.5
-第 7 行的平均值为 32.5
age
52.0
27.0
NA
23.0
39.0
32.0
NA
33.0
43.0
Run Code Online (Sandbox Code Playgroud)
谢谢你。
在最新版本的GGally::ggpairs 中,相关值用 * 表示,如下图所示。我想删除 * 并保留相关值。
我查看了 ggpairs 代码,但对我来说并不明显。
GGally::ggpairs(data = iris[, 1:4])
Run Code Online (Sandbox Code Playgroud)
我的问题与C中的线程编程有关.
我的问题是我只想在main程序中创建两个线程.这两个线程应该按顺序工作,这意味着我的第一个线程应该首先执行(不应该执行任何线程的其他语句).第一个线程应该完全控制.main在第一个线程完成之前,不应执行任何其他线程的任何其他语句,甚至程序语句.
完成第一个线程后,第二个线程应以与第一个线程类似的方式执行.
之后我的主要应该执行.
我知道你可以说我为什么要这样做,因为这个东西可以通过创建两个函数并按顺序调用它们来实现,但是对于学习和实验我想在线程的帮助下完成它.
我用C编写了一些代码如下:
void* fun()
{
printf("\nThe thread 1 is running");
}
void* van()
{
printf("\nthread 2 is running ");
}
int main()
{
pthread_t t1,t2;
pthread_create(&t1,NULL,fun,NULL);
pthread_create(&t2,NULL,van,NULL);
printf("\nI'm in main\n");
pthread_join(t2,NULL);
}
Run Code Online (Sandbox Code Playgroud)
该程序工作正常,但我不理解该功能的工作pthread_join().
当我更改我的代码时,如下所示:
int main()
{
pthread_t t1,t2;
pthread_create(&t1,NULL,fun,NULL);
pthread_join(t2,NULL); // Change
pthread_create(&t2,NULL,van,NULL);
printf("\nI'm in main\n");
}
Run Code Online (Sandbox Code Playgroud)
现在,当我运行代码时,它显示了一个分段错误.
现在我的问题如下:
pthread_create()函数中的属性参数是什么?我们为什么要使用它们?线程的默认属性是什么?请举例说明.pthread_create()什么?为什么我们使用它们?线程的默认参数是什么?请举例说明.pthread_join()实际上是如何工作的?当我的代码pthread_join()在main中t2作为第一个参数调用时,它意味着什么.这是否意味着主要应该暂停执行直到t2执行完成或其他什么?pthread_join()什么?我们为什么用它?它的默认值是多少?请用示例或代码解释.我有一个包含分类和数字变量的数据框。我想使用高尔距离对这些数据进行聚类,并像 kmeans 函数一样将聚类值作为向量获取。我怎样才能做到这一点?
我目前正在尝试在C语言中使用while循环中的数组.目标是获取投资组合价值并将其加到股息率,然后乘以1.10来模拟10%的回报率.当我运行程序时,它会正确地执行第一个循环,但是在此之后的所有年份都显示相同的数量.因此,如果我的初始值为1000且股息率为5,那么我预期第一年为1105,第二年为1220,依此类推.我每年得到1105.
提前致谢.
编辑:砍掉了许多我认为与此问题无关的不需要的代码.
所以我认为我需要做的是弄清楚如何递增x,并将之前的值添加到它.因此,如果第一年是1,000,那么第二年将是它的价值+ 1,000.等等...
我正试图找出执行该方法的最佳方法.
while (year <= 19)
{
(totalvalue[x] = dividend + portfoliovalue *1.10);
year++;
printf("The total value of the portfolio after %u year will be approximately %u.\n", year, totalvalue[x]);
}
system("PAUSE");
return 0;
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个包含一些数字变量的R数据库。在执行此操作时,我犯了一个输入错误,其结果对我来说看起来很奇怪,我想了解原因(当然,这里我确实缺少什么)。
我试图四处寻找可能的解释,但没有找到我想要的东西。
library("dplyr")
library("tidyr")
data <-
data.frame(FS = c(1), FS_name = c("Armenia"), Year = c(2015), class =
c("class190"), area_1000ha = c(66.447)) %>%
mutate(FS_name = as.character(FS_name)) %>%
mutate(Year = as.integer(Year)) %>%
mutate(class = as.character(class)) %>%
tbl_df()
data
x <- data %>%
group_by(FS, FS_name, Year, class) %>%
dplyr::summarise(area_1000ha = sum(area_1000ha, rm.na = TRUE)) %>%
ungroup()
Run Code Online (Sandbox Code Playgroud)
如您所见,错误是rm.na =而不是na.rm =输入正确时,我在area_1000ha变量(10.5)上得到了正确的结果。如果我不这样做,即保持rm.na =,我得到11.5,而不是(实际上是+1)。我想念什么?
r ×9
c ×2
data.table ×2
arrays ×1
database ×1
dplyr ×1
imputation ×1
ipywidgets ×1
jupyter ×1
list ×1
missing-data ×1
mixed-type ×1
null ×1
pandas ×1
pthreads ×1
python ×1
r-caret ×1
rpart ×1
scale ×1
unique ×1