更多的一般MATLAB问题而不是寻找编程建议 - 如果我有:
y = cellfun(@(x)sum(x(:)), Z, 'un', 0);
Run Code Online (Sandbox Code Playgroud)
NaN在每个单元矩阵中存在's'和实数的组合时,当我对每个单元格中的所有矩阵的所有元素求和时,我总是得到total = NaN因为那里NaN有,或者它们会被忽略而只是求和实数.我问的原因是因为我得到了:
y = [NaN] [NaN] [NaN]
[NaN] [NaN] [NaN]
[NaN] [NaN] [NaN]
Run Code Online (Sandbox Code Playgroud)
示例单元矩阵(单元元素)将是:
x{1,1} = NaN 2 3
4 5 6
7 8 9
Run Code Online (Sandbox Code Playgroud)
所以我希望第一个元素y是:
y{1,1} = 44
Run Code Online (Sandbox Code Playgroud)
我怎么没有得到这个?
我有下表:
X Y
A 4 8
B 2 6
C 5 4
D 6 3
E 9 13
Run Code Online (Sandbox Code Playgroud)
但我想重新安排它看起来像:
AX AY BX BY CX CY......
4 8 2 6 5 4
Run Code Online (Sandbox Code Playgroud)
我在R工作并通过这样做得到了表
table(db[,1],db[,2])
Run Code Online (Sandbox Code Playgroud)
如何更改命令以获得所需的输出?
嗨,我正在使用R将数据帧保存到DB2 SQL表中。我似乎能够创建表框架,但无法将数据追加到表中-
>df <- read.csv("dat.csv")
Run Code Online (Sandbox Code Playgroud)
其中dat.csv是没有标题的csv,只有两列中的原始数据
然后我创建表:
>sqlQuery(channel, "create table sqltable
(
col1 int,
col2 float
)"
(
Run Code Online (Sandbox Code Playgroud)
我可以通过选择数据库上的空表“ sqltable”来确认表已创建
所以现在我需要通过执行以下操作将“ dat.csv”中的数据添加到“ sqltable”中:
>sqlSave(channel, df, "sqltable", verbose=T, fast=T, append=T)
no: 1 rownames 1/***/no: 2 col1 31105/***/no: 3 col2 0.001/***/
no: 2 rownames 1/***/no: 2 col1 31106/***/no: 3 col2 0.023/***/
no: 3 rownames 1/***/no: 2 col1 31107/***/no: 3 col2 1.456/***/
no: 4 rownames 1/***/no: 2 col1 31108/***/no: 3 col2 0.001/***/
no: 5 rownames 1/***/no: 2 col1 31109/***/no: 3 col2 2.102/***/
Run Code Online (Sandbox Code Playgroud)
一切都很好,直到我这样做: …
我在同一子目录中有许多文件,如下所示:
10 A
11 T
12 A
13 C
15 A
Run Code Online (Sandbox Code Playgroud)
即两列,其中第一行始终以数字10开头.
我只想在每个文件的开头添加第1-9行,即
1
2
3
4
5
6
7
8
9
10 A
11 T
12 A
13 C
15 A
Run Code Online (Sandbox Code Playgroud)
我不关心附加第二列.
我知道我能做到
sed -i '1i1' FILE
Run Code Online (Sandbox Code Playgroud)
添加第一行,但是我是否必须为每个要添加的其他行键入此命令?
我有以下目录树:
books>book(i)>cluster.pir
Run Code Online (Sandbox Code Playgroud)
其中book(i)是一组子目录1到1023,每个子目录包含一个名为cluster.pir的文件夹.
以下sed命令:
sed -i '/>/d' ./*.pir
Run Code Online (Sandbox Code Playgroud)
对于任何带有.pir ext的文件,将删除包含'>'的文件中的任何一行,这很好,但是我的各种.pir文件都位于他们自己的book(i)目录中.如何让命令跨越所有目录?我试过了:
find ./*.pir -type f -exec sed -i '/>/d' ./*.pir
Run Code Online (Sandbox Code Playgroud)
当在'book'父目录中启动时,我得到:
find: missing argument to `-exec'
Run Code Online (Sandbox Code Playgroud)
有没有人对此有任何想法?
谢谢.
嗨,我正在使用以下 r 脚本来构建随机森林:
# load the necessary libraries
library(randomForest)
testPP<-numeric()
# load the dataset
QdataTrain <- read.csv('train.csv',header = FALSE)
QdataTest <- read.csv('test.csv',header = FALSE)
QdataTrainX <- subset(QdataTrain,select=-V1)
QdataTrainY<-as.factor(QdataTrain$V1)
QdataTestX <- subset(QdataTest,select=-V1)
QdataTestY<-as.factor(QdataTest$V1)
mdl <- randomForest(QdataTrainX, QdataTrainY)
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
Error in randomForest.default(QdataTrainX, QdataTrainY) :
NA not permitted in predictors
Run Code Online (Sandbox Code Playgroud)
但是我在我的数据中没有看到 NA 的出现。
参考这里是我的数据:
https://docs.google.com/file/d/0B0iDswLYaZ0zUFFsT01BYlRZU0E/edit
Run Code Online (Sandbox Code Playgroud)
有谁知道为什么会抛出这个错误?我会在此期间继续寻找。在此先感谢您的帮助!
简单的问题 - 我在R中使用write.csv函数:
write.csv(t(y), file = "test.csv")
Run Code Online (Sandbox Code Playgroud)
其中y是我目录中文件的数据框
但是,我的目录中有很多文件,我想通过循环将每个文件的输出写入"test.csv".但是,只是测试一下我注意到如果我写入test.csv,然后用另一个文件重复该命令,而不是添加它覆盖test.csv而不是添加到它.
所以我的问题是如何添加到test.csv而不是覆盖它.
非常感谢.
嗨,我有以下表格结构:
Person Date1 Date2............Daten
------ ----- ----- -----
1 2001-01-01 2002-01-01
2 2003-01-01 2000-01-01
Run Code Online (Sandbox Code Playgroud)
我想选择Date1和Date(n)之间的最小日期(在我的情况下为20个日期).因此,例如,它将为Person1选择Date1,为Person2选择Date2.
很明显,如果我只有1个日期列,我可以使用min(Date),但在这种情况下我无法理解我的逻辑.
非常感谢.
如果我有以下几点:
mm <- matrix(0, 4, 3)
mm<-apply(mm, c(1, 2), function(x) sample(c(0, 1), 1))
> mm
[,1] [,2] [,3]
[1,] 1 1 1
[2,] 1 1 0
[3,] 0 0 0
[4,] 1 0 1
Run Code Online (Sandbox Code Playgroud)
如何输出一个矩阵,该矩阵表示两个值都为 1 的不同列的频率或百分比。例如 - 4 中有两行,其中第 1 列和第 2 列都等于 1 (=0.5) 和 4 中的 1 行其中第 2 列和第 3 列 = 1 (=0.25),所以在这种情况下我需要:
[,1] [,2] [,3]
[1,] 1 0.5 0.5
[2,] 0.5 1 0.25
[3,] 0.5 0.25 1
Run Code Online (Sandbox Code Playgroud)
我对比较相同的列不感兴趣,所以默认情况下对角线保持在 1。
我想我可能会在某个cor(mm)地方有办法输出共同频率或共同百分比而不是相关系数,但情况似乎并非如此。但是最终输出的维度应该是一个 N x …
如果我有以下示例:
library(text2vec)
library(magrittr)
reviews <- movie_review[1:10,]
vocabInsomnia <- reviews$review %>% itoken(tolower, word_tokenizer, n_chunks = 10) %>%
create_vocabulary %>%
prune_vocabulary(term_count_min = 10, doc_proportion_max = 0.5) %>%
vocab_vectorizer %>%
create_dtm(<output_from_itoken>,<output_from_vocab_vectorizer>)
Run Code Online (Sandbox Code Playgroud)
您可以看到,在最后一个链序列中,我想使用前面两个步骤的输出作为函数的参数create_dtm。我只知道如何在 ie 输出之前直接输入链的输出,但不知道作为序列中第一个链的vocab_vectorizer函数的输出。itoken马格里特允许这样做吗?