我正在尝试将数据框中的日期更改为 R 中的正确格式(m/d/y 更改为正确的 yyyy-mm-dd)。
我有这样的数据
Date Time pH
1 1/4/1981 9:00 3.9
2 1/8/1981 8:30 3.9
Run Code Online (Sandbox Code Playgroud)
ETC
我正在使用的数据框的名称是 data.cat.AC
我试过
data.cat.AC[,1]$Date <- as.Date(data.cat.AC[,1]$Date, "%Y/%m/%d")
Run Code Online (Sandbox Code Playgroud)
...但这没有用。
我收到错误,
$ operator is invalid for atomic vectors
Run Code Online (Sandbox Code Playgroud)
关于我做错了什么有什么提示或指示吗?
如何通过提取剩下的所有字符来获取以下日期的月份/.
一些示例数据:
10/1/2015 10:30:00
10/15/2015 13:32:00
2/12/2012
Run Code Online (Sandbox Code Playgroud) 我是R的新手,我有一个如下数据集:
Artist Medium.Size
1 HIROSHI SUGIMOTO (B. 1948) gelatin silver print mounted on paper \n 20 x 24 in. (50.8 x 61 cm.)
2 HIROSHI SUGIMOTO (B. 1948) gelatin silver print mounted on paper \n 20 x 24 in. (50.8 x 61 cm.)
3 HIROSHI SUGIMOTO (B. 1948) gelatin silver print \n 20 x 24 inches (50.7 x 63.2 cm.)
4 HIROSHI SUGIMOTO (B. 1948) gelatin silver print \n 20 x 24 inches (50.7 x 63.2 cm.)
5 HIROSHI SUGIMOTO …Run Code Online (Sandbox Code Playgroud) 我只想将'$'删除到文本中,我使用stringr来执行此操作
a<-'r$studio'
require(stringr)
str_replace(string=a,pattern='$',replacement='')
Run Code Online (Sandbox Code Playgroud)
它给了我以下输出
[1] 'r$studio'
Run Code Online (Sandbox Code Playgroud)
rstudio
Run Code Online (Sandbox Code Playgroud)
我也尝试使用粘贴功能,它也没有提供我想要的东西
paste(a,sep='$')
[1] 'r$studio'
Run Code Online (Sandbox Code Playgroud)
请给我一些帮助.
我有一个包含4998列的巨大数据框,列标题是公司的名称.这些列包含股票价格作为列中的值.因此,我想删除股票价格(列中的值)小于1的便士股票.因此,如果其值小于1,我想删除整个列.此外,数据框中有列,其中值波动他们低于1,但然后返回等于或大于1,在这个场景中,我希望在此列中,当值低于1时,它将被NA替换.我已经提到'将多个数据帧列中的多个值替换为另一列中的值',但我的情况略有不同.我举例说明了数据框的一小部分
df1 <- Price
Date A B C
01/01/2000 NA 0.03 0.95
02/01/2000 NA 0.03 0.95
03/01/2000 NA 0.03 0.95
04/01/2000 NA 0.03 0.95
05/01/2000 5 0.03 0.95
06/01/2000 6 0.5 1
07/01/2000 7 0.5 1
08/01/2000 8 0.5 NA
09/01/2000 9 0.5 NA
Run Code Online (Sandbox Code Playgroud)
所需的输出数据帧
df2<- df1
Date A C
01/01/2000 NA NA
02/01/2000 NA NA
03/01/2000 NA NA
04/01/2000 NA NA
05/01/2000 5 NA
06/01/2000 6 NA
07/01/2000 7 1
08/01/2000 8 1
09/01/2000 9 NA
Run Code Online (Sandbox Code Playgroud)
非常感谢您的帮助.
我想根据第一列中的值扩展或拆分包含多个列的大型数据框:
这是我的意见:
a1;a2;a3 X 1
b1;b2 Y 2
c Z 3
d1;d2;d3 ZZ 4
Run Code Online (Sandbox Code Playgroud)
并输出:
a1 X 1
a2 X 1
a3 X 1
b1 Y 2
b2 Y 2
c Z 3
d1 ZZ 4
d2 ZZ 4
d3 ZZ 4
Run Code Online (Sandbox Code Playgroud)
到目前为止,我遇到了以下解决方案 - http://www.r-bloggers.com/expand-delimited-columns-in-r/ 但我希望有人可以建议一种更简单的方法.
我很感激任何帮助.
我有一个带有Name,longitude和latitude列的数据框。我想要一个遍历每一行的函数,从栅格堆栈中提取值并根据Name列写入 csv 文件。
Name Lon Lat
Name1 11.11 47.87
Name2 150.1 -40.4
Name3 -50.2 -3.5
Name4 -100.3 49.8
library(raster)
s <- stack(replicate(5, {raster(matrix(runif(2160*4320), 2160),
xmn=-180, xmx=180, ymn=-90, ymx=90)}))
I can do that one by one:
location <- data.frame(11.11, 47.87)
ex <- extract(s, location)
write.csv(ex, "Name1.csv")
Run Code Online (Sandbox Code Playgroud) 我有一个df(A)10 列和 300 行。我需要以这种方式对它们之间的每两列求和:
A[,1]+A[,2] = # first result
A[,3]+A[,4] = # second result
A[,5]+A[,6]= # third result
....
A[,9]+A[,10] # last result
Run Code Online (Sandbox Code Playgroud)
预期的最终结果是一个具有 5 列和 300 行的新数据框。有没有办法做到这一点?与tapply或循环for?我知道我可以尝试上面的例子,但我正在寻找一种快速的方法谢谢
假设我有一个如下数据框,
ID <- c("A","A","A","B","B","B","C","C")
Type <- c(45,46,47,45,46,47,45,46)
Point_A <- c(10,15,20,8,9,10,35,33)
df <- data.frame(ID,Type,Point_A)
Run Code Online (Sandbox Code Playgroud)
我正在对此数据框使用dplyr groupby函数,
library(dplyr)
df %>% group_by(ID) %>% summarise(q=n())
Run Code Online (Sandbox Code Playgroud)
以下是我得到的输出,
ID q
(fctr) (int)
1 A 3
2 B 3
3 C 2
Run Code Online (Sandbox Code Playgroud)
现在,我要过滤计数为2的行。理想情况下,代码应删除计数为2的行。代码的输出应为:
ID Type Point_A
1 A 45 10
2 A 46 15
3 A 47 20
4 B 45 8
5 B 46 9
6 B 47 10
Run Code Online (Sandbox Code Playgroud)
因为计数为2的行已被删除。
是否有可能做到这一点?有人可以帮我吗?
谢谢
我na.locf对zoo包中的功能有疑问.在下面的数据框架中,我想删除领先的NA(1987年,1988年),但保留前一年(1993年)的有效值.
Year X
1987 NA
1988 NA
1989 2
1990 5
1991 9
1992 16
1993 NA
1994 27
1995 36
Run Code Online (Sandbox Code Playgroud)
有没有人有这个问题的解决方案?