R - what does this tapply() function do? [closed] - r

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 6 years ago.
Improve this question
Please excuse my terrible knowledge of the language - just started looking at it a few hours ago.
I'm trying to understand this code and what it produces but quite unsure. Given that the value of inclusions is 10, why is the output what it is?
seps <- tapply(diff, nonCore, function(x) sort(x)[inclusions])
Outputs
"","x"
"ab",23
"ad",15
The value of diff is
"","x"
"1",31
"2",43
"3",37
"4",22
"5",27
"6",13
"7",24
"8",7
"9",26
"10",29
"11",2
"12",15
"13",10
"14",38
"15",23
"16",21
"17",46
"18",10
"19",20
"20",46
"21",20
"22",32
"23",26
"24",11
"25",16
"26",2
"27",13
"28",4
"29",15
"30",18
"31",13
"32",26
"33",1
"34",27
"35",12
"36",10
"37",35
"38",21
"39",9
"40",35
The value of nonCore is
"","x"
"1","ab"
"2","ab"
"3","ab"
"4","ab"
"5","ab"
"6","ab"
"7","ab"
"8","ab"
"9","ab"
"10","ab"
"11","ab"
"12","ab"
"13","ab"
"14","ab"
"15","ab"
"16","ab"
"17","ab"
"18","ab"
"19","ab"
"20","ab"
"21","ad"
"22","ad"
"23","ad"
"24","ad"
"25","ad"
"26","ad"
"27","ad"
"28","ad"
"29","ad"
"30","ad"
"31","ad"
"32","ad"
"33","ad"
"34","ad"
"35","ad"
"36","ad"
"37","ad"
"38","ad"
"39","ad"
"40","ad"

You should supply the code to construct the vectors diff and nonCore, as it is those who could help you need to do massive edits...
That said, what is happening is that your sorting the combination of the vectors according to ab and and ad. ab matches against the first 20 in diff and ad the last 20. Then you just subset the list that is created with the element number that is given by inclusion.
It's the same as running the function without [inclusion] and doing this afterwards:
sep[[1]][10]
sep[[2]][10]

Related

Is there a cipher method that uses 9 digit(starts with 8,9 or else) and 10 digit(only starts with 1) [closed]

Closed. This question is not about programming or software development. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 5 days ago.
Improve this question
1752462448 1933193007 1667526190 1684632419 1869767777 1886400099 1869426529 1953784163 1751999854 1953705777 808924214 943272760 825768241 858992688 876162865 808924214 959918133 892810033 825832761 808726350 1162236485 1412330081 1912602624 there is the cipher.
i tried dcode.fr Cipher Identifier and it says this is base36. yes i found something with it like a another cipher. i tried to decode it too but got nothing.
Example in Python for its universal intelligibility:
c = '1752462448 1933193007 1667526190 1684632419 1869767777 1886400099 1869426529 1953784163 1751999854 1953705777 808924214 943272760 825768241 858992688 876162865 808924214 959918133 892810033 825832761 808726350 1162236485 1412330081 1912602624'
b = [bytes.fromhex(
f'{int(a):08x}').decode() for a in c.split()]
print(''.join(b).rstrip('\x00'))
https://cdn.discordapp.com/attachments/1074689381891330049/1074697055731195904/NEFRET.rar
Note that b is the following list (with the last element 'r\x00\x00\x00'):
['http', 's://', 'cdn.', 'disc', 'orda', 'pp.c', 'om/a', 'ttac', 'hmen', 'ts/1', '0746', '8938', '1891', '3300', '49/1', '0746', '9705', '5731', '1959', '04/N', 'EFRE', 'T.ra', 'r\x00\x00\x00']
Therefore, wee need to remove all trailing ␀ (U+0000, Null) characters (see .rstrip('\x00') in the last line of above code snippet).

http.HandleFunc always match "/" [closed]

Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 3 years ago.
Improve this question
Code:
http.HandleFunc("/", api.Index)
http.HandleFunc("/list", api.FileList)
http.HandleFunc("/api/upload", api.UploadFile)
http.HandleFunc("/api/delete", api.DeleteFile)
http.Handle("/files", http.StripPrefix("/files/", http.FileServer(http.Dir(settings.FilesPath))))
http.ListenAndServe(":1234", nil)
Result 1:
http://localhost:1234/
http://localhost:1234/list
http://localhost:1234/files
match "/"
api.index (It's wrong for the second and third)
Result 2:
http://localhost:1234/api/upload
http://localhost:1234/api/delete
match "/api/xxx"
api.xxx (It's right)
env:
go 1.13.5 windows/amd64
What should I do to fix this problem?
try to use "/list/" replace "/list"
more information: https://pkg.go.dev/net/http?tab=doc#ServeMux

Getting user provided data out of a database and into R [closed]

Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 9 years ago.
Improve this question
I am creating the function below. The purpose is to take in a user provided variable list from an Access database for use in other functions. I would like users to provide a list separated by commas. I have tried several different methods to loop through the provided variable list but cannot get it to operate correctly. My for loop is problematic.
f.extractVariables<-
structure(function
(dbPath,dbName,table,variables
){
# LOAD LIBRARIES
require(RODBC)
require(xlsx)
setwd(dbPath)
db <- odbcConnectAccess2007(dbName)
for (i in 0:length(variables))
{
dataCollection <- sqlQuery(db, 'SELECT table.variables[[i]]
FROM table;')
}
odbcClose(db)
)
}, ex=function(){
#Positive Test to retrieve specified variables from specified location
dbPath = 'z:/sites/'
dbName = 'oysterSites.accdb'
table = 'tblDataSiteOysterSamplingPlan'
variables= (nwLon, nwLat, neLon, neLat)
No need to use a loop here. You can build your query using paste:
variables= "nwLon, nwLat, neLon, neLat" ## user input string
If use give a list a variables:
variables= c("nwLon", "nwLat", "neLon", "neLat")
variables = paste(variables,collapse=",")
Then you build the query as :
query <- paste(paste("SELECT" ,variables),
"FROM table",sep='\n')
cat(query)
# SELECT nwLon, nwLat, neLon, neLat
# FROM table

Rename files in a folder [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 9 years ago.
Improve this question
I have to rename a list of files in a folder so that:
From file named:
> myfile_000.txt
> myfile_001.txt
> ......
to file named:
> myfile_1.txt
> myfile_2.txt
> .......
Total files = 156
I used the following script:
> file.rename(list.files(pattern="myfile_*.txt", paste0("myfile_", 1:156)))
But without success.
Error:
Error in file.rename(list.files(pattern = "myfile_*.txt", paste0("myfile_", :
argument "to" is missing, with no default
The error message tells you, that you didn't specify the new names. It should work if you change the position of one ):
file.rename(list.files(pattern="myfile_*.txt"), paste0("myfile_", 1:156))

Convert MATLAB code to R [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
Is there a tool for converting MATLAB code to R?
I have a lot of code that needs to be converted from MATLAB to R. It doesn't have to be accurate, but it will be helpful in giving a head start.
Paul Gilbert provides a rough Bash script that could get you started (he claims it will convert about 80% of the way) on the R mailing list:
#!/bin/csh
cp $1 $2
ex -s $2 <<eof
g/%/s//#/g
g/function\(..*\)=\(..*\)(\(..*\)/s//\2 <-function( \3 { \1/
g/end/s// } #/
g/for\(..*\)=\(..*\):\(..*\)/s//for ( \1 in \2 : \3 ) {/
g/_/s//./g
g/;/s///g
g/==/s//##/g
g/=/s//<-/g
g/##/s//==/g
g/zeros(/s//matrix(0,/g
g/ones(/s//matrix(1,/g
g/eye(/s//diag(1,/g
g/\/s//solve(,)/g
g/fsolve('\(..*\)'/s//ms(~\1 /g
g/param(\(..*\))/s//param[ \1 ] /g
g/var(\(..*\))/s//var[ \1 ] /g
g/mod1(\(..*\)/s//mod1[ \1 /g
wq
eof
No there is no easy conversion. Some will translate nearly exactly, some will translate only with great pain and suffering. At least you'll be using R though! Start here to work out analogous functions and syntax:
http://cran.r-project.org/doc/contrib/R-and-octave.txt
http://cran.r-project.org/doc/contrib/Hiebeler-matlabR.pdf
When you get stuck please ask specific questions here. This is really too vague as it stands, though those reference cards will help with getting started.
An alternative to translating the code would be to call MATLAB from within R, using the RMatlab package.
I have not tried RMatlab, but the package description states:
This package provides methods to read
and write MAT files. It also makes it
possible to communicate (evaluate
code, send and retrieve objects etc.)
with Matlab v6 or higher running
locally or on a remote host.
Please see the comments on this issue:
URL:https://mandymejia.wordpress.com/2014/08/18/three-ways-to-use-matlab-from-r/
She mentions several options:
Option 1: Run a single MATLAB command at a time using system()
Option 2: Use R.matlab to send code to the MATLAB server
Option 3: Write an entire MATLAB program using writeLines() and run using system()

Resources