我有一个这样的数据框:
df
VALUE ABS_CALL DETECTION P-VALUE
1007_s_at "957.729231881542" "P" "0.00486279317241156"
1053_at "320.632701283368" "P" "0.0313356324173416"
117_at "429.842323161046" "P" "0.0170004527476119"
121_at "2395.7364289242" "P" "0.0114473584876183"
1255_g_at "116.493632746934" "A" "0.39799368200131"
1294_at "739.927122116896" "A" "0.0668649772942343"
Run Code Online (Sandbox Code Playgroud)
我想将行名称转换为第一列.目前我使用类似的东西将行名称作为第一列:
d <- df
names <- rownames(d)
rownames(d) <- NULL
data <- cbind(names,d)
Run Code Online (Sandbox Code Playgroud)
这样做有一条线吗?
我有一个像这样的数据帧:
In [10]: df
Out[10]:
Column 1
foo
Apples 1
Oranges 2
Puppies 3
Ducks 4
Run Code Online (Sandbox Code Playgroud)
如何index name foo从该数据框中删除?所需的输出是这样的:
In [10]: df
Out[10]:
Column 1
Apples 1
Oranges 2
Puppies 3
Ducks 4
Run Code Online (Sandbox Code Playgroud) 我正在使用以下代码创建数据框:
df <- data.frame(dbGetQuery(con, paste('select * from test')))
Run Code Online (Sandbox Code Playgroud)
结果如下:
UID BuildingCode AccessTime
1 123456 BUILD-1 2014-06-16 07:00:00
2 364952 BUILD-2 2014-06-15 08:00:00
3 95865 BUILD-1 2014-06-06 09:50:00
Run Code Online (Sandbox Code Playgroud)
然后我试图删除的建议行名称(1,2,3等),在这里通过使用此代码:
rownames(df) <- NULL
Run Code Online (Sandbox Code Playgroud)
但是当我打印出来时,df它仍然显示行名称.有没有办法在创建数据框时不包括行名?我找到了一个建议,row.name = FALSE但是当我尝试它时,我只是遇到错误(我可能把它放在了错误的地方).
编辑:我想要做的是将日期框架转换为HTML表格,我不希望行名称出现在表格中.
以下函数对是否生成完全相同的结果?
对1)names()&colnames()
对2)rownames()&row.names()
我有矩阵g:
> g[1:5,1:5]
rs7510853 rs10154488 rs12159982 rs2844887 rs2844888
NA06985 "CC" "CC" "CC" "CC" "CC"
NA06991 "CC" "CC" "CC" "CC" "CC"
NA06993 "CC" "CC" "CC" "CC" "CC"
NA06994 "CC" "CC" "CC" "CC" "CC"
NA07000 "CC" "CC" "CC" "CC" "CC"
> rownames(g)[1:2]->remove
> remove
[1] "NA06985" "NA06991"
> g[-remove,]
Run Code Online (Sandbox Code Playgroud)
-remove中的错误:一元运算符的无效参数
有没有一种简单的方法可以做我想做的事情(从矩阵g中删除向量'remove'中引用的ID ?
注意:这只是我实际想要做的模型,请不要只是这样做g[-(1:2), ],我需要能够删除一堆我有ID-d的行.
我从4 df收集数据,并希望通过rownames合并它们.我正在寻找一种有效的方法来做到这一点.这是我拥有的数据的简化版本.
df1 <- data.frame(N= sample(seq(9, 27, 0.5), 40, replace= T),
P= sample(seq(0.3, 4, 0.1), 40, replace= T),
C= sample(seq(400, 500, 1), 40, replace= T))
df2 <- data.frame(origin= sample(c("A", "B", "C", "D", "E"), 40,
replace= T),
foo1= sample(c(T, F), 40, replace= T),
X= sample(seq(145600, 148300, 100), 40, replace= T),
Y= sample(seq(349800, 398600, 100), 40, replace= T))
df3 <- matrix(sample(seq(0, 1, 0.01), 40), 40, 100)
df4 <- matrix(sample(seq(0, 1, 0.01), 40), 40, 100)
rownames(df1) <- paste("P", sprintf("%02d", c(1:40)), sep= "")
rownames(df2) …Run Code Online (Sandbox Code Playgroud) 我想把一堆数据框合并在一起(因为如果你只处理w/one,似乎很多操作都会更容易,但如果我错了就纠正我).
目前我有一个这样的数据框:
ID, var1, var2
A, 2, 2
B, 4, 5
.
.
Z, 3, 2
Run Code Online (Sandbox Code Playgroud)
每个ID都在一行上,有几次单次测量
我还有一个csv文件w /重复测量每个ID,如:
filename = ID_B.csv
time, var4, var5
0, 1, 2
1, 4, 5
2, 1, 6
...
Run Code Online (Sandbox Code Playgroud)
我想要的是:
ID, time, va1, var2, var4, var5
...
B, 0, 4, 5, 1, 2,
B, 1, 4, 5, 4, 5,
B, 2, 4, 5, 1, 6,
...
Run Code Online (Sandbox Code Playgroud)
我真的不关心列顺序.我能想到的唯一解决方案是将ID列添加到每个csv文件,然后循环调用它们merge()几次.有更优雅的方法吗?
有人可以解释一下为什么我在identical()下面的两行代码(调用)中得到不同的结果吗?这两个对象似乎是相同的对象,但是当我在apply函数中使用它们时,我遇到了一些麻烦:
df <- data.frame(a = 1:5, b = 6:2, c = rep(7,5))
df_ab <- df[,c(1,2)]
df_AB <- subset(df, select = c(1,2))
identical(df_ab,df_AB)
[1] TRUE
apply(df_ab,2,function(x) identical(1:5,x))
a b
TRUE FALSE
apply(df_AB,2,function(x) identical(1:5,x))
a b
FALSE FALSE
Run Code Online (Sandbox Code Playgroud) 我有一个包含多行的数据框.我想stu2,stu3,stu5,stu9从这个数据帧中选择一些具有特定rownames(例如)的行.输入示例数据帧如下:
attr1 attr2 attr3 attr4
stu1 0 0 1 0
stu2 -1 1 -1 1
stu3 1 -1 0 -1
stu4 1 -1 1 -1
stu5 -1 1 0 1
stu6 1 -1 1 0
stu7 -1 -1 -1 1
stu8 1 -1 0 -1
stu9 -1 -1 1 -1
stu10 -1 1 0 1
Run Code Online (Sandbox Code Playgroud)
预期产量:
attr1 attr2 attr3 attr4
stu2 -1 1 -1 1
stu3 1 -1 0 -1
stu5 -1 1 0 1
stu9 -1 -1 …Run Code Online (Sandbox Code Playgroud)