小编Kes*_*v M的帖子

从文件夹中的所有tsv文件中提取前三列

我在一个文件夹中有几个tsv文件,总计超过50 GB.为了在将这些文件加载​​到R中时使内存更容易,我想只提取这些文件的前3列.

如何在终端中一次性提取所有文件的列?我正在运行Ubuntu 16.04.

linux csv bash

6
推荐指数
3
解决办法
714
查看次数

如何根据数据框中的位置用数字替换字符串?

我有一个字符串向量,格式如下:

strings <- c("UUDBK", "KUVEB", "YVCYE")
Run Code Online (Sandbox Code Playgroud)

我也有这样的数据框:

replacewith <- c(8, 4, 2)
searchhere <- c("UUDBK, YVCYE, KUYVE, IHVYV, IYVEK", "KUVEB, UGEVB", "KUEBN, IHBEJ, KHUDN")
dataframe <- data.frame(replacewith, searchhere)
Run Code Online (Sandbox Code Playgroud)

我希望将字符串向量替换为此数据框中相应"replacewith"列中的值.目前我的方式是:

final <- sapply(as.character(strings), function(x)
as.numeric(dataframe[grep(x, dataframe$searchhere), 1]))
Run Code Online (Sandbox Code Playgroud)

然而,使用长度为10 ^ 9的字符向量进行此计算非常重要.

有什么更好的方法呢?

谢谢!

r

5
推荐指数
1
解决办法
144
查看次数

如何在函数内部将名称中具有模式的所有变量放入列表中

我有一个如下所示的函数,它生成具有相似名称的各种变量。在这个函数内部,我想将所有变量放入一个列表中。我知道这个例子看起来不太有效,因为我可以从一开始就使用列表,但在我的函数中,我有必要这样做。

test_function <- function(x) {
    myenv <- new.env()
    myenv$hello1 = "hello1string"
    myenv$hello2 = "hello2string"
    myenv$cello2 = "hello2string"
    mylist <- lapply(ls(name = myenv, pattern = "hello"), get)
    print(class(mylist))
}
Run Code Online (Sandbox Code Playgroud)

如何将所有以“hello”开头的变量放入列表中而不给出错误:Error in FUN(X[[i]], ...) : object 'hello1' not found when running test_function()。当将变量放入共享环境时甚至会发生这种情况。

我希望决赛mylist是班级名单,而不是角色。

谢谢!

r

5
推荐指数
1
解决办法
1361
查看次数

绘制自举插入符号模型的 ROC 曲线

我有一个如下所示的模型:

library(mlbench)
data(Sonar)

library(caret)
set.seed(998)

my_data <- Sonar

fitControl <-
  trainControl(
    method = "boot632",
    number = 10,
    classProbs = T,
    savePredictions = T,
    summaryFunction = twoClassSummary
  )


model <- train(
  Class ~ .,
  data = my_data,
  method = "xgbTree",
  trControl = fitControl,
  metric = "ROC"
)
Run Code Online (Sandbox Code Playgroud)

如何绘制此模型的 ROC 曲线?据我了解,必须保存概率(我在 trainControl 中所做的),但是由于引导用于生成“测试”集的随机抽样,我不确定 caret 如何计算 ROC 值以及如何生成曲线。

为了隔离最佳性能参数的类概率,我正在做:

for (a in 1:length(model$bestTune))       
{model$pred <-
        model$pred[model$pred[, paste(colnames(model$bestTune)[a])] == model$bestTune[1, a], ]}
Run Code Online (Sandbox Code Playgroud)

请指教。

谢谢!

r r-caret

5
推荐指数
1
解决办法
1969
查看次数

根据起始字母和列中星号的存在进行过滤

我有一个大数据框,有 22 列。我想根据第二列中的值进行过滤,因此如果该值不以“X”开头,我想删除该行。如果第二列中的此值包含星号,我还想删除该行。

test <- c(1, 2, 3, 4, 5, 6, 7, 8, 9)
secondcolumn <- c("Xidfhsfd*isjdf", "Hsuhdfskdh", "Xwidfsoid", "X*sdkfjjhsd", "Xkdsfhsd", "Uskesfudhsk", "Sdfukhsdiu", "Osdfihsdoiuh", "Xsodifdsifj")
othercolumn <- c(3, 5, 7,2, 5, 8, 3, 0, 5)

df <- as.data.frame(test, secondcolumn, othercolumn)
Run Code Online (Sandbox Code Playgroud)

这将如何完成?在这个例子中,我想删除第 1、2、4、6、7、8 和 9 行。

谢谢!

r

3
推荐指数
1
解决办法
4716
查看次数

从字典中的所有值中减去1

我有一个如下字典:

dict = {'hi':1, 'hi2':2, 'lskdjf':3}
Run Code Online (Sandbox Code Playgroud)

它继续这样超过一百万的价值.

我想将其转换为值为0的字典

例如,这是所需的输出:

dict = {'hi':0, 'hi2':1, 'lskdjf':2}
Run Code Online (Sandbox Code Playgroud)

如何有效地完成这项工作?

python dictionary python-3.x

1
推荐指数
1
解决办法
689
查看次数

python 中的加权 k 均值

在阅读了这篇关于 k 均值聚类中的重复值的文章后,我意识到我不能简单地使用唯一点进行聚类。

\n\n

https://stats.stackexchange.com/questions/152808/do-i-need-to-remove-duplicate-objects-for-cluster-analysis-of-objects

\n\n

我有超过 10000000 点,虽然只有 8000 个独特的点。因此,我最初认为为了加快速度,我\xe2\x80\x99d 仅使用唯一点。看来这是一个坏主意。

\n\n

为了减少计算时间,这篇文章建议为每个点添加权重。这在Python中如何实现呢?

\n

python k-means

1
推荐指数
1
解决办法
1万
查看次数

标签 统计

r ×4

python ×2

bash ×1

csv ×1

dictionary ×1

k-means ×1

linux ×1

python-3.x ×1

r-caret ×1